如果未提供,为什么 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}) {

使您的代码按预期工作