数据类型
int 整型 double 小数
String 字符串
Booleans 布尔
[值, 值, 值] 列表 {'名城': 值,'名城': 值} 字典
通用
变量.length
长度
变量 is 数据类型
数据类型判断
String
s1 = '''
你可以像这样创建多行字符串。
''';
不对转义符做处理
s = r'In a raw string, not even \n gets special treatment.';
字符串.split(值) 字符串转列表 以值分割
字符串拼接
'$变量1 $变量2'
'${实例.变量}'
'${表达式}'
'值' + '值'
int
int.parse('1')
String 转 int
1.toString()
int 转 String
double
double.parse('1.1')
String 转 double
3.14159.toStringAsFixed(2)
double 转 String
List
列表
名称 = [值, 值, 值]
定义
List 名称 = <类型>[]
定义 泛形
名称<数据类型> = [值, 值, 值]
定义 指定类型
名称 = List.filled(3, '默认值')
定义 指定长度
变量[1]
列表.add(值) 添加
列表.addALL(列表) 添加 列表
列表.insert(索引, 值) 插入
列表.insertAll(索引, 列表) 插入 列表
列表.remove(值) 删除
列表.removeAt(索引) 删除 传索引
列表.clear(值) 清空
列表.isEmpty 是否为空
列表.isNotEmpty 是否不为空
列表.toList() 转列表
列表.indexOf(值) 值是否存在 如果存在返回索引
列表.join(值) 列表转字符串 以值拼接
[0, ...列表] 合并列表 ...? 可为空列表
遍历
var 名称 = 列表.map((e) {
// 代码 e 是本次遍历的值
return 值; // 返回的值增加到列表内
});
var 名称 = 列表.where((element) {
// 代码 element 是本次遍历的值
return 布尔类型; // 返回 true 或 false 当返回真时本次遍历的值添加
});
Set
集合
创建集合
名称 = {'fluorine', 'chlorine', 'bromine', 'iodine', 'astatine'}
名称 = Set()
集合.add('值') 添加
集合.toList('值') 集合转列表
集合.addALL(集合) 添加 集合 传的可以是 集合 列表
[0, ...集合] 合并集合 ...? 可为空列表
Map
映射 字典
定义
x = {
'name': '张三',
'age': 16,
}
变量['键']
变量[key] = 值 新增
变量.addAll(Map类型) 新增 多个值
变量.remove('键') 删除
变量.containsKey('键') 是否有这个键
变量.containsValue('值') 是否有这个值
变量.keys 获取所有键
变量.keys.toList 获取所有键 转列表
变量.values 获取所有值
变量.values.toList 获取所有值 转列表
变量.isEmpty 是否为空
变量.isNotEmpty 是否不为空
遍历
变量.forEach((key, value) {
// 代码 key 本次键 value 本次值
});
Iterable
可迭代集合 适用于全部可迭代对象
可以直接参与 for 遍历
定义
Iterable<String> iterable = const ['Salad', 'Popcorn', 'Toast'];
iterable.elementAt(1); 访问下标
iterable.first; 访问第一个元素
iterable.last; 访问最后一个元素