这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战
Set
Set是一个无序的,元素唯一给集合,无法通过下标取值,重复元素会在代码执行的时候去掉 通过字面量和构造函数方式创建
- var nums = {1,2,3}
- var f = new Set() 常用API
- toSet() 注意转换的过程中会将重复元素去掉
- intersection() 求交集
- union() 求并集
- difference() 求差集
- first 返回第一个元素
Map
Map是一个无序的键值对映射,通常被称为哈希或字典 声明方式:
- var map = {key1:value1,key2:value2}
- var map = new Map();
- map['key'] = value
常用API:
- containsKey() 某个key是否存在
- containsValue() 某个value是否存在
- putIfAbsent() 赋值,如果key不存在才赋值,若key存在则不赋值
- keys 获取所有key
- values 获取所有value
- removeWhere 根据条件进行删除
其他
Runes 符文
- Runes对象是一个32位字符对象,他可以把文字转换成符号表情或特定的文字
- copychar.cc/
Symbol
- 在Dart中符号用#开头来表示的标识符
dynamic
- 动态数据类型
运算符
- 地板除(~/):对除法运算结果向下取整
- 类型判断运算符 (is | is!)
- 避空运算符(?? | ??=):如果为空才变量赋值,如果不为空,不做操作
- 条件属性访问(?.) 属性不存在,用这个,不会报错;先判断属性是否存在如果存在才访问
- 级联运算符(..)
-
myObject.myMethod() //返回myMethod的返回值
-
myObject..myMethod() //返回myObject对象的引用
-
Dart函数
声明函数
Dart 中声明函数,不需要function关键字 返回值要与函数声明的类型一致
- 直接声明
int getNum(){
return 1;
}
- 箭头函数
- Dart中箭头函数只是函数的简写形式,没有别的意义
- Dart中箭头函数,函数体只能写一行且不能带有结束的分号
- 匿名函数
var myPrint = (value){
print(value)
};//这里要有分号
- 立即执行函数
((int n){
print(n)
})(13);
函数参数
-
必填参数
- 参数类型 参数名称
String user(String name){ return 'hello $name' } -
可选参数
- 放在必填参数后面
- 通过中括号包裹起来
- 带默认值的可选参数
String user(String name,[int age=0]){ return 'hello $name $age' } -
命名参数
- 用大括号包裹起来
- 调用函数时,命名参数的名称和声明函数中的名称保持一致
String user(String name,{int age = 0}){ return 'hello $name $age' } user('tom',age:20) //命名参数调用方式 -
函数参数
- 将函数当作参数传递给另一个函数