指定参数中=和:之间的飞镖差异

时间:2019-05-26 09:26:30

标签: flutter dart

class Student {
  String name;
  int age;
  int id;

  Student({this.name, this.id = 101, this.age: 20});
}

上述构造函数中的=:有什么区别?两者似乎都做同样的工作。

1 个答案:

答案 0 :(得分:4)

从文档中:

  

弃用说明:旧代码可能使用冒号(:)而不是=进行设置   命名参数的默认值。原因是因为   仅:支持命名参数。这种支持很可能会   不推荐使用,因此我们建议您使用=来指定默认值   值。

来源: https://dart.dev/guides/language/language-tour