参数传值说明
第一种
1,有顺序传值
2,选传参数
void calculateOne(int a, [int b = 1, int c]) {
print('a=$a b=$b c=$c');
}
void main() {
calculateOne(1);
calculateOne(1, 2);
calculateOne(1, 2, 3);
}
输出:
a=1 b=1 c=null
a=1 b=2 c=null
a=1 b=2 c=3
注意:
· a 必传参数 其他选传参数
· []内参数必须按照顺序传值
· b 不传时,默认为1
· c 不传时,默认为null
· [] 后不可再加其他参数
第二种
1,无顺序传值
2,选传参数
void calculateTwo(int a, {b, c = 0, @required d}) {
print('a=$a b=$b c=$c d=$d');
}
输出:
a=1 b=null c=0 d=null
a=1 b=2 c=0 d=null
a=1 b=2 c=3 d=4
注意:
· a 必传参数 其他选传参数
· {}内参数可以无序传值
· b 不传时,默认为null
· c 不传时,默认为0
· 标记 @required 的参数为提醒用户为必传参数,不传编译器会给出警告提示
闭包的使用
typedef Adder = int Function(int, int);
Adder makeAdder(int sum) {
return (a, b) => a + b + sum;
}
void main() {
var adder=makeAdder(5);
var value=adder(1,2);
print("$value");
}
网友评论