如果未提供,为什么 dart 可选命名参数不为空?
Why dart optional named argument is not null if not provided?
当没有提供可选的命名参数时,为什么它不是null
预期的?
void main() {
num double({v: num}) {
if (v == null)
return 0;
else
return v * 2;
}
print(double(v: 2));
print(double());
print('done');
}
哪个输出为
4
Uncaught TypeError: v.$mul is not a function
num double({v: num}) {
定义了一个dynamic
类型的命名参数v
,默认值为num
(一个类型)
应该是
num double({num v}) {
使您的代码按预期工作
当没有提供可选的命名参数时,为什么它不是null
预期的?
void main() {
num double({v: num}) {
if (v == null)
return 0;
else
return v * 2;
}
print(double(v: 2));
print(double());
print('done');
}
哪个输出为
4
Uncaught TypeError: v.$mul is not a function
num double({v: num}) {
定义了一个dynamic
类型的命名参数v
,默认值为num
(一个类型)
应该是
num double({num v}) {
使您的代码按预期工作