Dart数据类型
Dart数据类型
Kahvia这个笔记写下了Dart语言中一些常见的数据类型。
Number
- Dart的数字有三个关键字
- num(整数或小数)
- int表示整数,声明变量时就不能输入浮点数,不然会报错。
- double表示浮点数,即便声明变量时给的是整数,输出也是3.0之类。
一些少见的类型转换
1 | double a=3.14159; |
1 | int a=10; |
String
- 声明字符串
- 单引号、双引号
- 三个引号可声明带换行符的字符串
- 正则表达式
- RegExp(r’正则表达式’)
- 常见API
- replaceAll(str1,str2); 支持正则替换,即str1可以用正则表达式
- isEmpty
- isNotEmpty
- contains(str) 查找字符串
- indexOf(str) 定位字符串
Boolean
- 关键字为bool
- 值只有true和false
- 使用变量进行条件语句的判断时,尽量使用显式的判断,如if(a==0),而不是if(!a),因为dart中,变量的值不会进行隐式转换。
List
- Dart中的数组,由List对象表示。有两种声明方式。
- 字面量方式
List list=[] //不限数据类型
List list=<int>[] //指定数据类型
- 构造函数方式
List list=new List.empty(growable:true)//不限制长度的空列表
List list=new List.filled(3,0)//前一个参数指定长度,后一个指定填充值,这里创建出来为[0,0,0]
- 字面量方式
- 常见API
- addAll([x,y,…,z ])
- remove(element)
- removeAt(int i) 删除指定下标的元素
- insert(index,element) 在指定下标的位置添加元素
- clear( ) 清空
- join(str) 将列表中的元素用str连接合并起来
- 遍历List
- forEach()
- map()
- var newList=nums.map((e) {
return e*e;
});
- var newList=nums.map((e) {
- where() 返回包含满足要求的元素的新列表
- any() 有一个元素满足要求就返回true
- every() 都满足要求才返回true
Set
- set是无序的,元素唯一的集合
- set同样有字面量和构造函数两种声明方式,字面量用大括号{ }
- 对List变量使用toSet( )方法,将重复元素去除
- 交集:map1.intersection(map2)
- 并集:map1.union(map2)
- 差集:map1.difference(map2)
- 第一个元素:map1.first
- 最后一个元素:map1.last
Map
- Map是无序的键值对映射。又称哈希或字典。
- 声明方式
- var map={key1:value1,…};
- var map=new Map( );
- map[‘key’]=value;
- 常用API
- map1.containsKey(str) 判断key存在与否
- map1.putIfAbsent(key,( )->value ) key不存在则赋值
- map1.keys
- map1.values
- map1.removeWhere( ) 按条件删除
其它数据类型
- Runes (符文) Runes对象是一个32位的字符对象。可以把文字转换成符号表情或者特定的文字。CopyChar
- Symbol 在Dart中用#开头来表示的标识符
- dynamic 动态数据类型