例如我们在 Dart 中有一个求和函数,它接收三个参数,最后返回这三个数的和
//求和
int summation(int a, int b, int c) {
return a + b + c;
}
// ···
int total = summation(1, 2, 3);
如果我们想要后面两个参数是选填的,可以使用可选位置参数,只要把这些参数放在方括号中,它们就是选填的参数了【注意:可选参数只能放在参数列表的末尾】。例如:
//求和
int summation(int a, [int? b, int? c]) {
int sum = a;
if (b != null) sum += b;
if (c != null) sum += c;
return sum;
}
// ···
int total1 = summation(1, 2); // 不传第三个数
int total2 = summation(1, 2, 3);
可选参数的默认值为 null
,我们可以给它定义初始值来覆盖这个默认值。例如:
//求和
int summation(int a, [int b = 2, int c = 3]) {
int sum = a;
if (b != null) sum += b;
if (c != null) sum += c;
return sum;
}
// ···
int total = summation(1); // 返回 6
还要注意:一个函数不能同时使用可选位置参数和可选命名参数