- Dart 常用数据类型
- Number(int,double)
- String
- Boolean
- List
- Map
- Set
Number
Dart 语言的 Number 有两种类型:
int
整数值不大于64位, 具体取决于平台。 在 Dart VM 上, 值的范围从 -263 到 263 - 1. Dart 被编译为 JavaScript 时,使用 JavaScript numbers, 值的范围从 -253 到 253 - 1.
声明一个 int 类型变量:int i = 1;
double
64位(双精度)浮点数,依据 IEEE 754 标准。
声明一个 double类型变量:double d = 1.0;
Number类型的变量支持所有的数学运算。
String
String 类型的变量值在声明的时候可以用 ‘’ (单引号) 或者 “” (双引号)将变量值括起来
String str = "我是字符串" ;
String str = '我是字符串';
字符串的拼接:
String str1 = "我是";
String str2 = "音乐小钢炮";
print(str1 + str2);
print("$str1$str2");// $符号表示在字符串里面引用变量的值,$在很多地方都有用之后再说
字符串的转义(\):
需要转义的字符写在\后面
String str1 = 'I\'m MusicBoom';
Boolean
Dart 使用 bool 类型表示布尔值。 Dart 只有字面量 true and false 是布尔类型。
var firstName = "音乐";
var lastName = "小钢炮";
var fullName = "";
print(firstName.isEmpty);// 返回 Boolean false
print(lastName.isEmpty);// 返回 Boolean false
print(fullName.isEmpty);// 返回 Boolean true
List(也被称之为 Array)
声明方式:
var animals = ["dog", "cat", "pig", "tiger", "bird","",null];// 声明一个动物集合,包含多个动物
for (var animal in animals) {// 遍历这个动物集合,取出所有动物
print(animal);
}
var length = animals.length;// 获取集合长度
print(length);//打印 7 说明,空字符和 null 对象在集合中都会占有一个位置
var position1 = animals[1];// 取出位置为1的动物
print(position1);// 打印 cat,说明 List 的下标从 0 开始
print(animals[5]);// 打印第五个元素,结果为"";
animals[5] = "duck";// 给第五个元素重新赋值
print(animals[5]);// 打印第五个元素,结果为"duck";
Set
在 Dart 中 Set 是一个元素唯一且无需的集合。
var animals = <String>{}; // 声明一个空Set,需要指定类型,如果没有 <String> 那么编译器将会认为声明的是一个Map
var animals1 = {"Dog","Cat"}; // 声明一个有值的Set
print(animals.length);// 打印 0 ,没有元素
animals.addAll(animals1);
print(animals.length);// 打印 2 ,有元素 Dog,Cat
animals.add("Dog");
print(animals.length);// 打印 2 ,有元素 Dog、Cat,因为Set元素无法重复
animals.add("Bird");
print(animals.length);// 打印 3 ,有元素 Dog、Cat、Bird,因为Set元素无法重复
var ele = animals.firstWhere((element) => element == "Dog");// 从前往后查找元素,还有 lastWhere 从后往前查找
print(ele);
for (var item in animals) {// 遍历Set
print(item);
}
Map
通常来说, Map 是用来关联 keys 和 values 的对象。 keys 和 values 可以是任何类型的对象。在一个 Map 对象中一个 key 只能出现一次。 但是 value 可以出现多次。
var myMap = {
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5"
};
myMap.putIfAbsent("key6", () => "value6");// 添加一个元素
print(myMap);
myMap["key1"] = "ddd";// 更改一个元素
print(myMap);
var containsKey = myMap.containsKey("key1");// 检查是否包含该key
print(containsKey);
var containsValue = myMap.containsValue("ddd");// 检查是否包含该value
print(containsValue);
var value = myMap["key1"]; // 获取 key1 的 value 值
print(value);