方法
1.方法定义
- 返回类型 方法名(参数1,参数2,...){
方法体...
return 返回值
}
void main(List args) {
print(getPerson("多仔",18));
}
String getPerson(String name,int age){
return "name=$name,age=$age";
}
- 方法特性
- 方法也是对象,并且有具体类型Function
- 返回值类型,参数类型都可以省略
- 箭头语法:=>expr是{return expr;}缩写,只适用于一个表达式
- 方法都有返回值,如果没有指定,默认return null 最后一句执行,返回null
2.可选参数
- 可选命名参数:{param1,param2,...}
- 可选位置参数:{param1,param2,...}
- 如果存在具体参数,可选参数声明,必须在参数后面
3.默认参数值
- 使用 = 在可选参数指定默认值
- 默认值只能是编译时常量
4.方法对象
- 方法可作为对象赋值给其他变量
void main(List args) {
var func =printHello;
func();
}
void printHello(){
print("hello 多仔!");
}
- 方法可作为参数传递给其他方法
void main(List args) {
var list=[1,2,3,4];
list.forEach(print);
}
5.匿名方法
(参数1,参数2,...){
方法体...
return 返回值
}
- 匿名方法的特性
- 可赋值给变量,通过变量进行调用
- 可在其他方法中直接调用或者传递给其他方法
6.闭包
- 闭包是一个方法(对象)
- 闭包定义在其他方法内部
- 闭包能够访问外部方法内的局部变量,并持有其状态
枚举
1.枚举定义
- 枚举是一种有穷序列集的数据类型
- 使用关键字enum定义一个枚举
- 常用于代替常量,控制语句等
2.Dart枚举特性
- index从0开始,依次累加
泛型
- Dart中类型是可选的,可使用泛型限定类型
- 使用泛型能够有效的减少代码重复