如果没有提供,为什么dart可选的命名参数不为null?

时间:2017-08-27 08:09:49

标签: dart optional-parameters named

如果未提供可选的命名参数,为什么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

1 个答案:

答案 0 :(得分:6)

num double({v: num}) {

定义v类型的命名参数dynamic,默认值为num(类型)

应该是

num double({num v}) {

使代码按预期工作