方法的定义
1 | e.g. |
方法特性
方法也是对象 并且有具体类型
Function
返回值类型、参数类型都可省略
箭头语法:
=> expr
是{return expr}
的缩写 但只适用一个表达式方法都有返回值 如果没有指定 默认
return null
最后一句执行
1 | e.g. |
可选参数
- 可选命名参数:
{param1 ,param2...}
可选位置参数:
[param1 ,param2...]
可选参数 必须在具体参数的后面
1 | e.g. |
默认参数
使用
=
在可选参数指定默认值默认值只能是编译时常量
1 | e.g. |
方法对象
方法可作为对象赋值给其他变量
1
2
3
4
5
6
7
8
9
10
11e.g.
void main() {
Function func = printHello;
func(); // Hello
}
void printHello(){
print('Hello');
}方法可作为参数传递给其他方法
1 | e.g. |
匿名方法
- 可赋值给变量 通过变量进行调用
1 | e.g. |
- 可在其他方法中直接调用或传递给其他方法
1 | e.g. |
闭包
闭包是一个方法(对象)
闭包定义在其他方法内部
闭包能够访问外部方法内部的局部变量,并保持有其状态
1 | e.g. |