考虑一个动物类,它具有两个字段-totalLegs
和type
。
class Animal {
final int totalLegs;
final String type;
}
假设
totalLegs
默认为4,而type
默认为“cat”。我们可以通过两种不同的方式为字段设置默认值:class Animal {
...
Animal({this.totalLegs = 4, this.type = 'cat'});
}
class Animal {
...
Animal({this.totalLegs: 4, this.type: 'cat'});
}
两种方式的行为是否相同?有什么不同?或者,如果没有区别,为什么不只有一种设置默认值的方法呢?
最佳答案
它们是相同的,但是不推荐使用:
。它被替换为=
。我认为,出于某些向后兼容性的原因,未删除已弃用的版本。但是现在建议使用=
代替:
,并且不能保证它的 future 。它可能会在Dart的 future 版本中删除,否则不会删除。
关于dart - 对于类构造函数和函数参数中的命名参数的默认值, “:”和 “=”有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62103840/