= 和 : 在命名参数中的 Dart 区别

6 dart flutter

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

  Student({this.name, this.id = 101, this.age: 20});
}
Run Code Online (Sandbox Code Playgroud)

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

ZeR*_*eRj 9

从文档:

弃用说明:旧代码可能使用冒号 (:) 而不是 = 来设置命名参数的默认值。原因是最初,命名参数仅支持 : 。该支持可能会被弃用,因此我们建议您使用 = 指定默认值。

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