天天看點

flutter - 02 Dart基礎快速入門

Dart基礎知識

  • 程式入口
  • 控制台輸出
  • 變量
  • 檢查null或零
  • Functions
  • 異步程式設計
  • Futures
  • async和await

程式入口

在Dart中, 每個app都必須有一個頂級的main() 函數作為應用程式的入口點。

// Dart
main() (
)      

練一練​​Dart Pad​​。

Dart Pad是Dart的一個線上playground, 提供Dart線上playground還有:Online Dart Compiler。

控制台輸出

要在Dart中列印到控制台,可使用print:

//Dart
print('Helloworld!') ;      

變量

Dart是類型安全的 - 它使用靜态類型檢查和運作時的組合, 檢查以確定變量的值始終與變量的靜态值比對類型。盡管類型是必需的, 但某些類型注釋是可選的, 因為Dart會執行類型推斷。

建立和配置設定變量

在Dart中, 變量必須是明确的類型或系統能夠解析的類型。

//Dart
String name='dart'; //Explicitly typed as a string.
var other Name='Dart'; //Inferred string.
//Both are acceptable in Dart.      

預設值

在Dart中, 未初始化的變量的初始值為null。

注意:數字在Dart中也被當成對象, 是以隻要是帶有數字類型的未初始化變量的值都是"null"。

//Dart
var name; // ==null
int x; // ==null      

檢查null或零

在Dart中, 隻有布爾值​

​true​

​被視為true。

void main() {
  var myNull = null;
  if(myNull == null){
    print("myNull == null");
  }
  
  var zero = 0;
  if(zero == 0){
    print("zero == 0");
  }
}
      

Dart null 檢查最佳實踐

看一下下面預計的執行結果:

print(null??false);
  print(false??11);
  print(true??false);      

Functions

//Dart
fn(){
  return true;
}


//can also be written as
bool fn(){
  return true;
}
      

異步程式設計

_getIpAddress(){
    final url = "https://www.baidu.com";
    httpRequest.request(url).then((values){
      print(values);
    }).catchError((error) => print(error));
  }      

async和await

_getIpAddress() async{
    final url = "https://www.baidu.com";
    var request = await HttpRequest.request(url);
    String ip = json.decode(request.responseText) ['origin'];
    print(ip);
  }