1. 程式人生 > 其它 >02-Dart 資料型別

02-Dart 資料型別

本篇從大地老師《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('其他型別');
}