【笔记】Dart的方法
前言
Dart的方法学习笔记
主方法
- 程序的入口
1 | void main() { |
定义方法
- 定义自定义方法
- 方法名通常采用驼峰命名法
返回值
有返回值的方法
1 | 返回值类型 方法名(参数列表) { |
没有返回值的方法
1 | void 方法名(参数列表) { |
任意返回值的方法
- 返回值为自动推导类型
1 | 方法名() { |
参数列表
没有参数列表的方法
1 | void 方法名() { |
直接指定形参名
- 直接指定形参名时,可以传递任意类型的形参
1 | void 方法名(形参名, 形参名) { |
指定形参类型
1 | void 方法名(数据类型 形参名, 数据类型 形参名) { |
指定可选参数
- 如果指定可选参数,在方法调用时可以传参也可以不传参
- 可选参数用
[]
包裹,多个可选参数用一对[]
包裹,用,
分隔 - 可选参数需要写在参数列表末尾
- 可选参数在调用时是根据传参顺序决定参数的赋值的
1 | void 方法名(数据类型 形参名, [数据类型 形参名, 数据类型 形参名]) { |
默认参数
- 提供参数的默认值。如果可选参数不传递参数,则赋值为默认值
- 可选参数的默认参数通常放在其他可选参数的前面
1 | void 方法名(数据类型 形参名, [数据类型 形参名=默认值, 数据类型 形参名]) { |
指定命名参数
- 如果指定命名参数,在方法调用时可以传参也可以不传参
- 命名参数用
{}
包裹,多个命名参数用一对{}
包裹,用,
分隔 - 命名参数需要写在参数列表末尾
- 命名参数在调用时是根据形参名决定参数的赋值的
1 | void 方法名(数据类型 形参名, {数据类型 形参名, 数据类型 形参名}) { |
默认参数
- 提供参数的默认值。如果可选参数不传递参数,则赋值为默认值
- 命名参数的默认参数可以不放在其他可选参数的前面,因为命名参数的调用是通过参数名决定参数的赋值的
1 | void 方法名(数据类型 形参名, {数据类型 形参名=默认值, 数据类型 形参名}) { |
把方法作为参数传递
1 | void 方法名1(参数名) { |
匿名方法
1 | var 变量名 = (参数列表) { |
箭头方法
- 箭头方法的方法体只能写一句代码
1 | (参数列表)=>{ |
- 如果箭头方法的方法体省略了
{}
,那么无需写return
即可将返回值返回
1 | (参数列表)=>方法体 |
自执行方法
- 在定义方法后,立即执行方法
1 | ((形参列表) { |
递归方法
- 方法内部自己调用自己的方法
1 | void 方法名() { |
闭包
- 全局变量:可以常驻内存,但是数据可能会被污染
- 局部变量:会被垃圾回收,不会常驻内存,数据不会污染
- 闭包:方法的返回值是一个匿名函数,这个匿名函数定义了一些变量,这些变量既不会被污染,也不会被垃圾回收
1 | void 方法名() { |
调用方法
无返回值
1 | 方法名(参数列表); |
有返回值
1 | var 返回值 = 方法名(参数列表); |
方法的作用域
- 在方法内部定义的方法为局部方法
- 局部作用域定义的方法只能在作用域内部调用,不能在全局调用
1 | void 方法名() { |