 02.Dart的数据类型详解int double String bool List Maps
02.Dart的数据类型详解int double String bool List Maps
  # Dart 的数据类型详解介绍
# Dart 中支持以下数据类型:
# 常用数据类型:
 Numbers(数值):
 int
 double
 Strings(字符串)
 String
 Booleans(布尔)
 bool
 List(数组)
 在 Dart 中,数组是列表对象,所以大多数人只是称它们为列表
 Maps(字典)
 通常来说,Map 是一个键值对相关的对象。 键和值可以是任何类型的对象。每个 键 只出现一次, 而一个值则可以出现多次
# 项目中用不到的数据类型 (用不到):
  ##### 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));
     }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# Symbols
 Symbol 对象表示在 Dart 程序中声明的运算符或标识符。您可能永远不需要使用符号,但它们对于按名称引用标识符的 API 非常有用,因为缩小会更改标识符名称而不会更改标识符符号。要获取标识符的符号,请使用符号文字,它只是#后跟标识符:
 在 Dart 中符号用 # 开头来表示,入门阶段不需要了解这东西,可能永远也用不上。
 http://dart.goodev.org/guides/libraries/library-tour#dartmirrors---reflection
# 1. dart 字符串类型
Dart 数据类型:字符串类型
void main(){
  //1、字符串定义的几种方式
  // var str1='this is str1';
  // var str2="this is str2";
  // print(str1);
  // print(str2);
  // String str1='this is str1';
  // String str2="this is str2";
  // print(str1);
  // print(str2);
  // 三个引号支持换行没有问题
  // String str1='''this is str1
  // this is str1
  // this is str1
  // ''';
  //  print(str1);
  //   String str1="""
  //   this is str1
  //   this is str1
  //   this is str1
  //   """;
  //  print(str1);
  //2、字符串的拼接
  String str1='你好';
  String str2='Dart';
  // print("$str1 $str2");
  print(str1 + str2);
  print(str1 +" "+ str2);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
重点是三个引号的方式,支持换行无问题。
# 2. dart 数值类型
Dart 数据类型:数值类型
 int
 double
void main(){
  	// 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);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
double 可以是整型也可以是浮点型,但是 int 必须是整型。
# 3. dart 布尔类型
Dart 数据类型:布尔类型
bool 值 true/false
void main(){
  	//1、bool
    // bool flag1=true;
    // print(flag1);
    // bool flag2=false;
    // print(flag2);
  	//2、条件判断语句
    // var flag=true;
    // if(flag){
    //   print('真');
    // }else{
    //   print('假');
    // }
    // var a=123;
    // var b='123';
    // if(a==b){
    //   print('a=b');
    // }else{
    //    print('a!=b');
    // }
    var a=123;
    var b=123;
    if(a==b){
        print('a=b');
    }else{
        print('a!=b');
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Dart 判断类型的时候,不会和 js 中 == 时候会隐式转换,dart 中是什么类型就是什么类型。
# 4. dart List 集合类型
Dart 数据类型: List(数组/集合)
void main() {
  //1、第一种定义List的方式
  // var l1=["张三",20,true];
  // print(l1);  //[张三, 20, true]
  // print(l1.length);  //3
  // print(l1[0]); //张三
  // print(l1[1]); //20
  //2、第二种定义List的方式 指定类型
  // var l2=<String>["张三","李四"];
  // print(l2);
  // var l3 = <int>[12, 30];
  // print(l3);
  //3、第三种定义List的方式  增加数据 ,通过[]创建的集合它的容量可以变化
  // var l4 = [];
  // print(l4);
  // print(l4.length);
  // l4.add("张三");
  // l4.add("李四");
  // l4.add(20);
  // print(l4);
  // print(l4.length);
  // var l5 = ["张三", 20, true];
  // l5.add("李四");
  // l5.add("zhaosi");
  // print(l5);
  //4、第四种定义List的方式
    //  var l6=new List();  //在新版本的dart里面没法使用这个方法了
    // var l6=List.filled(2, "");  //创建一个固定长度的集合
    // print(l6);
    // print(l6[0]);
    // l6[0]="张三";   //修改集合的内容
    // l6[1]="李四";
    // print(l6);  //[张三, 李四]
    // l6.add("王五");  //错误写法  通过List.filled创建的集合长度是固定  没法增加数据
    //通过List.filled创建的集合长度是固定
    // var l6=List.filled(2, "");
    // print(l6.length);
    // l6.length=0;  //修改集合的长度   报错
    // var l7=<String>["张三","李四"];
    // print(l7.length);  //2
    // l7.length=0;  //可以改变的
    // print(l7);  //[]
    var l8=List<String>.filled(2, "");
    l8[0]="string";
    // l8[0]=222;
    print(l8);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# 5. dart Maps 类型
Dart 数据类型: Maps(字典)
void main(){
  //第一种定义 Maps的方式
    // var person={
    //   "name":"张三",
    //   "age":20,
    //   "work":["程序员","送外卖"]
    // };
    // print(person);
    // print(person["name"]);
    // print(person["age"]);
    // print(person["work"]);
   //第二种定义 Maps的方式
    var p=new Map();
    p["name"]="李四";
    p["age"]=22;
    p["work"]=["程序员","送外卖"];
    print(p);
    print(p["age"]);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 6. 类型判断
Dart 判断数据类型:
is 关键词来判断类型
void main(){
  // var str='1234';
  // if(str is String){
  //   print('是string类型');
  // }else if(str is int){
  //    print('int');
  // }else{
  //    print('其他类型');
  // }
  var str=123;
  if(str is String){
    print('是string类型');
  }else if(str is int){
     print('int');
  }else{
     print('其他类型');
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
编辑  (opens new window)
  上次更新: 2024/07/20, 05:07:19
