Dart数据类型
Number,String,Boolean,List,Set,Map,其他
常见API查询
- https://api.dart.cn/stable/dart-core
Number
- num数字类型(既可以表示整数,也可以表示小数)
- int 表示整数 (必须是整数)
- double 表示浮点数 (既可以是整数,也可以是小数)
- Number上的方法(看官网)
- toString() 转换为字符串
- toInt() 向下取整
- round() 四舍五入
- toStringAsFixed(4)
- remainder(4) 返回余数
- compareTo(12) 数字比较 0:相同 1: 大于 -1:小于
- gcd() 最大公约数
- 等
String
- String类型
- var 单引号双引号都可以
- 三个引号可以声明包含换行符的字符串
- 常见API
- spilt(’ ') 字符串分割
- trim() 去除字符串两边的空格
- isEmpty 是否为空字符串
- isNotEmpty
- replaceAll(RegExp(r’\d+', ‘_’) 替换所有 支持正则
- indexOf() 查找
- contains()是否包含
- 等
- 正则表达式
- RegExp(r’正则表达式’)
Boolean
- bool flag1 = true; 通过bool关键字来表示布尔类型
- 布尔类型只有两个值:true false
- 对变量进行判断if(varname)改为 if(varname == 0)要显示地检查布尔值
- false == null // true
List
- 字面量声明方式
- List list = []; 不限定元素的数据类型
- List list = []; 限定元素的数据类型
- 构造函数声明方式(已弃用)
- List list = new List.empty(true); 不限制长度的空列表
- List list = new List.filled(3, 0); 限制长度的填充列表
- 扩展运算符
- var list = [1, 2, 3];
- var list2 = [0, …?list]; // ?如果list为null 使用?可以消除警告
- 常用API
- add 给List 添加元素
- indexOf和lastIndexOf 查找
- remove 删除
- removeAt 删除下标
- insert 插入
- sort 排序 growableList.sort((a, b) => a.compareTo(b));
- shuffle 乱序
- join 拼接
- 等
- 遍历
- for
- for … in
- forEach 只遍历 不可打断
- map 遍历处理元素,然后生成新的list
- where 返回满足条件的数据
- any 只要有一项满足 返回true
- every 所有的元素都满足 返回true
- expand 降纬 list.expand(item => item).toList();
- fold 折叠 list.fold(2, (p, item) => p + item);
Set
- 声明方式
- var nums = {1, 2, 3};
- var mySet = new Set(); mySet.add(‘a’); mySet.add(‘b’);
- 常用API
- add
- addAll
- intersection 求交集
- union 求并集
- difference 求差集
- first 第一个元素
- last 最后一个元素
- remove
- 等
Map
- Map是无序键值对映射,通常称为哈希或者字典
- 声明方式
- var map = { key1: value1, key2: value2 };
- var map = new Map();
- map[‘key’] = value;
- 常用API
- map[‘key’] 获取该key的值
- containsKey 判断Map中的key是否存在 map.containsKey(‘name’);
- putIfAbsent(‘gender’, () => ‘男’); 如果存在该key 就什么都不做 如果不存在就写入
- keys
- values
- removewhere
其他
- Runes(符文)
- Runes 是一个32位字符对象,它可以把文字转换为表情符号或者特定的文字
- print(‘\u{1f44d}’) => 👍
- https://copychar.cc/
- Sysbol
- 在Dart中符号用#开头来表示的标识符
- dynamic
- 动态数据类型