Flutter学习03:Dart数据类型

张建 lol

常用数据类型

  • Numbers(数值):

    • int
    • double
  • Strings(字符串):

    • String
  • Booleans(布尔):

    • bool
  • List(数组):

    • 在dart中,数组是列表对象,所以大多数人只是称它们为列表
  • Maps(字典):

    • 通常来说,Map 是一个键值对相关的对象。键和值可以是任何类型的对象。

数值类型

  1. int 类型
1
2
3
4
5
6
7
// 1.int:必须是整型
int a = 123;
// a = 12.2; // 报错
print(a);

====
123
  1. double 类型
1
2
3
4
5
6
7
// 2.double:即可以是整型,也可以是浮点型
double b = 23.5;
b = 24;
print(b);

====
24.0
  1. 运算符
1
2
3
4
5
6
7
// 3.运算符
/* + - * / */
var c = a + b;
print(c);

====
147.0

字符串类型

  1. 字符串定义的几种方式
1
2
3
4
5
6
7
8
9
10
// 第一种方式
var str = "this is str";
print(str);

// 第二种方式
String str = "this is str";
print(str);

=====
this is str
  1. 可以写多行
1
2
3
4
5
6
7
8
9
10
11
String str1 = '''this is str1
this is str1
this is str1
this is str1
''';

=======
this is str1
this is str1
this is str1
this is str1
  1. 字符串的拼接
1
2
3
4
5
6
7
8
9
// 2. 字符串的拼接
String str1 = "你好";
String str2 = "dart";
print("$str1 $str2");
print(str1 + str2);

=====
你好 dart
你好dart

bool类型

  1. true 和 false
1
2
3
4
5
6
7
8
// 1.bool
bool flag1 = true;
print(flag1);
// true

bool flag2 = false;
print(flag2);
// false
  1. 条件判断
1
2
3
4
5
6
7
8
9
10
// 2.条件判断
var flag = true;
if (flag) {
print("真");
} else {
print("假");
}

======

List(数组/集合)

  1. 定义List方式
  • 第一种定义List方式
1
2
3
4
5
6
7
8
9
10
// 1.第一种定义List方式
var l1 = ["张三", 20, true];
print(l1);
print(l1.length);
print(l1[0]);

=====
[张三, 20, true]
3
张三
  • 第二种定义List方式
1
2
3
4
5
6
7
8
9
10
11
// 2.第二种定义List方式 指定类型
var l2 = <String>["张三", "李四"];
print(l2);

====
[张三, 李四]

var l3 = <int>[1, 2];
print(l3);
====
[1, 2]
  • 第三种定义List方式 增加数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 3.第三种定义List方式 增加数据,通过[]创建的集合它的容量可以变化的
var l4 = [];
print(l4);
print(l4.length);
l4.add("张三");
l4.add(20);
print(l4);
print(l4.length);

=====
[]
0
[张三, 20]
2
  • 第四种定义List方式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 4.第四种定义List方式
// var l5 = new List(); // 在最新版本的dart里面没法使用这个方法了
// 通过List.filled创建的集合长度是固定的
var l5 = List.filled(2, ""); // 创建一个固定长度的集合
print(l5); // [,]
print(l5[0]);

// 修改数据
l5[0] = "张三";
l5[1] = "李四";
print(l5); // [张三,李四]

// l5.add("王五"); // 错误写法

// l5.length = 0; // 修改集合的长度 报错

// 指定类型
var l7 = List<String>.filled(2, "");
l7[0] = "String";
print(l7); // [String, ]
  • 通过[]方式创建的集合可以改变集合的长度
1
2
3
4
5
// 通过[]方式创建的集合可以改变集合的长度
var l6 = ["张三", "李四"];
print(l6);
l6.length = 0; // 可以该表的
print(l6); // []

Maps 字典

  • 第一种定义 Maps 方式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 1.第一种定义 Maps 方式
var person = {
"name": "张三",
"age": 20,
"work": ["程序员", "外卖员"]
};
print(person);
print(person["name"]);
print(person["age"]);
print(person["work"]);

=======
{name: 张三, age: 20, work: [程序员, 外卖员]}
张三
20
[程序员, 外卖员]
  • 第二种定义 Maps 方式
1
2
3
4
5
6
7
8
9
// 2.第二种定义 Maps 方式
var p = new Map();
p["name"] = "李四";
p["age"] = 22;
p["work"] = ["程序员", "外卖员"];
print(p);

========
{name: 李四, age: 22, work: [程序员, 外卖员]}

类型判断

  • 示例
1
2
3
4
5
6
7
8
9
10
11
var str = "1234";
if (str is String) {
print("是String类型");
} else if (str is int) {
print("是 int 类型");
} else {
print("其他类型");
}

=====
是String类型
  • Post title:Flutter学习03:Dart数据类型
  • Post author:张建
  • Create time:2023-03-21 05:41:36
  • Post link:https://redefine.ohevan.com/2023/03/21/Flutter学习/Flutter学习03:Dart数据类型/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.