0%
前言
Dart的方法学习笔记
主方法
定义方法
返回值
有返回值的方法
1 2 3 4
| 返回值类型 方法名(参数列表) { ... return 返回值; }
|
没有返回值的方法
任意返回值的方法
参数列表
没有参数列表的方法
直接指定形参名
1 2 3
| void 方法名(形参名, 形参名) { ... }
|
指定形参类型
1 2 3
| void 方法名(数据类型 形参名, 数据类型 形参名) { ... }
|
指定可选参数
- 如果指定可选参数,在方法调用时可以传参也可以不传参
- 可选参数用
[]
包裹,多个可选参数用一对[]
包裹,用,
分隔
- 可选参数需要写在参数列表末尾
- 可选参数在调用时是根据传参顺序决定参数的赋值的
1 2 3
| void 方法名(数据类型 形参名, [数据类型 形参名, 数据类型 形参名]) { ... }
|
默认参数
- 提供参数的默认值。如果可选参数不传递参数,则赋值为默认值
- 可选参数的默认参数通常放在其他可选参数的前面
1 2 3
| void 方法名(数据类型 形参名, [数据类型 形参名=默认值, 数据类型 形参名]) { ... }
|
指定命名参数
- 如果指定命名参数,在方法调用时可以传参也可以不传参
- 命名参数用
{}
包裹,多个命名参数用一对{}
包裹,用,
分隔
- 命名参数需要写在参数列表末尾
- 命名参数在调用时是根据形参名决定参数的赋值的
1 2 3 4 5
| void 方法名(数据类型 形参名, {数据类型 形参名, 数据类型 形参名}) { ... }
方法名{参数值, 参数名=参数值}
|
默认参数
- 提供参数的默认值。如果可选参数不传递参数,则赋值为默认值
- 命名参数的默认参数可以不放在其他可选参数的前面,因为命名参数的调用是通过参数名决定参数的赋值的
1 2 3
| void 方法名(数据类型 形参名, {数据类型 形参名=默认值, 数据类型 形参名}) { ... }
|
把方法作为参数传递
1 2 3 4 5 6
| void 方法名1(参数名) { 参数名(); } void 方法名2() {}
方法名1(方法名2);
|
匿名方法
1 2 3 4 5
| var 变量名 = (参数列表) { ... }
变量名();
|
箭头方法
- 如果箭头方法的方法体省略了
{}
,那么无需写return
即可将返回值返回
自执行方法
1 2 3
| ((形参列表) { ... })(实参列表);
|
递归方法
闭包
- 全局变量:可以常驻内存,但是数据可能会被污染
- 局部变量:会被垃圾回收,不会常驻内存,数据不会污染
- 闭包:方法的返回值是一个匿名函数,这个匿名函数定义了一些变量,这些变量既不会被污染,也不会被垃圾回收
1 2 3 4 5
| void 方法名() { return () { 变量名 = 值; } }
|
调用方法
无返回值
有返回值
方法的作用域
- 在方法内部定义的方法为局部方法
- 局部作用域定义的方法只能在作用域内部调用,不能在全局调用
1 2 3 4 5 6
| void 方法名() { void 方法名() { ... } 方法名(); }
|
完成
参考文献
哔哩哔哩——筱筱知晓