02-Dart 資料型別
阿新 • • 發佈:2021-12-15
本篇從大地老師《Dart 入門實戰教程》學習整理而來。
Numbers(數值)
- int/double
//1、int 必須是整型
int a=123;
a=45;
print(a);
//2、double 既可以是整型 也可是浮點型
double b=23.5;
b=24;
print(b);
//3、運算子
// + - * / %
var c=a+b;
print(c);
Strings(字串)
- String
// 定義字元的幾種方式 // 1.var 關鍵字定義 var str1='this is str1'; // 2.型別符號定義 String str1='this is str1'; // 3.定義多行字串 '''或""" String str1='''this is str1 this is str1 this is str1'''; // 字串的拼接 String str1='你好'; String str2='Dart'; print("$str1 $str2"); print(str1 + str2);
Booleans(布林)
- true/false
var a = 123;
var b = 123;
if (a == b) {
print('a=b');
} else {
print('a!=b');
}
List(陣列)
- 在Dart中,陣列是列表物件,所以大多數人只是稱它們為列表
// 1、第一種定義List的方式 var l1=["張三",20,true]; // 2、第二種定義List的方式 指定型別 var l2=<String>["張三","李四"]; var l3 = <int>[12, 30]; // 3、第三種定義List的方式 增加資料 ,通過[]建立的集合它的容量可以變化 var l4 = []; l4.add("張三"); // 4、通過List.filled建立的集合長度是固定 var l5=List.filled(2, ""); print(l6.length); l6.length=0; //修改集合的長度 報錯 List l6 = List<String>.filled(2, "");
Maps(字典)
- 通常來說,Map 是一個鍵值對相關的物件。 鍵和值可以是任何型別的物件。每個 鍵 只出現一次, 而一個值則可以出現多次
//第一種定義 Maps的方式
var person = {
"name": "張三",
"age": 20,
"work": ["程式設計師", "送外賣"]
};
//第二種定義 Maps的方式
var p = new Map();
p["name"] = "李四";
p["age"] = 22;
p["work"] = ["程式設計師", "送外賣"];
Runes
- Rune是UTF-32編碼的字串。它可以通過文字轉換成符號表情或者代表特定的文字。
main() {
var clapping = '\u{1f44f}';
print(clapping);
print(clapping.codeUnits);
print(clapping.runes.toList());
Runes input = new Runes(
'\u2665 \u{1f605} \u{1f60e} \u{1f47b} \u{1f596} \u{1f44d}');
print(new String.fromCharCodes(input));
}
Symbols
- Symbol物件表示在Dart程式中宣告的運算子或識別符號。您可能永遠不需要使用符號,但它們對於按名稱引用識別符號的API非常有用,因為縮小會更改識別符號名稱而不會更改識別符號符號。要獲取識別符號的符號,請使用符號文字,它只是#後跟識別符號:
型別推斷
- 使用 is 關鍵字實現型別推斷
var str = 123;
if (str is String) {
print('是string型別');
} else if (str is int) {
print('int');
} else {
print('其他型別');
}