dart是一個強大的腳本類語言,可以不預先定義變量類型,自動會類型推到
dart 中定義變量可以通過var關鍵字可以通過類型來申明變量
例如:
var str = 'this is var';
String str = 'this is var';
int str = 123;
注意: var 後面不要寫類型, 寫了類型就不要寫var, 兩者都寫報錯 var a int = 5; // error
Dart 常量:
1. final 修飾符
2. const 修飾符
3. const 值必須在編譯時知道,const birth = '2019/08/01',初始化後無法更改;final 值必須在運行時知道,最終生成 final birth = DateTime.now() // OK,初始化後無法更改
4. 永遠不改變的變量,請使用final和const修飾它,而不是使用var或者其他變量類型
code :
const birth = DateTime.now() // 報錯 因爲我們無法將運行時值分配給 const 變量
final birth = DateTime.now() // OK
常用的數據類型:
Numbers(數值):int 、double
Strings(字符串):String (3個單引號或者雙引號,可以定義多行字符串)
Booleans(布爾):bool
List(數組):在Dart中,數組是列表對象,所以大多數人只是稱它們爲列表
定義數組:
1. var list = [123,'23','aaa'];
2. var list = new List(); list.add(123); list.add('23'); list.add('aaa');
3. var list = new List<String>(); // 只能新增指定的字符串類型的數組項
Maps(字典):通常來說,Map 是一個鍵值對相關的對象,鍵和值可以是任何類型的對象。
定義Maps的方式:
1. var person = { "name": "張三", "age": 23 } print(person['name']); // 注意: key 必須要引號(單雙引號都可以)
2. var person = new Map(); person['name'] = '張三'; person['age'] = 23; print(person);
Dart 判斷數據類型
is: 判斷類型
code:
var str = "123456";
if(str is String){
print('str 是 String類型');
}else{
print('str 不是 String類型');
}
Dart 運算符
與JS運算符基本保持一致
Dart 類型轉換
1. Number與String類型轉換
(1) Number -> String = toString(); // var num = 23; var str = num.toString(); print(str in String);
(2) String -> Number = int.parse(str) / double.parse(str);
2. 其他類型轉換成Booleans類型
isEmpty: 判斷字符串是否爲空 // var str = 'xxx'; if(str.isEmpty){ print('str is null') }
isNaN: 判斷數字是否有效 // var num = 0/0; if(num.isNaN){ //... } 注意:NaN 不等於 NaN