Dart 数据类型
常用数据类型
Numbers(数值)
- int:表示整数。
- double:表示浮点数。
Strings(字符串)
- String:表示字符串。
Booleans(布尔)
- bool:表示布尔值,值为
true
或false
。
List(数组)
在 Dart 中,数组是列表对象,通常称为列表。
Maps(字典)
Map 是一个键值对相关的对象,键和值可以是任何类型的对象。每个键只出现一次,而一个值可以出现多次。
项目中用不到的数据类型
Runes
Rune 是 UTF-32 编码的字符串,可以通过文字转换成符号表情或者代表特定的文字。
main() {var clapping = '123123';print(clapping);print(clapping.codeUnits);print(clapping.runes.toList());Runes input = new Runes('111111');print(new String.fromCharCodes(input));
}
Symbols
Symbol 对象表示在 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);
}
数值类型
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);
}
布尔类型
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');}
}
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);
}
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"]);
}