dart + flutter中的不同构造函数。
在遵循page之后,我不确定我是否了解构造函数的全部内容
似乎拥有此语法的唯一好处就是语法糖:
class Foo {
bool something;
Foo(this.something);
}
结束:
class Foo {
bool something;
Foo(bool something): this.something = something;
}
甚至大括号:
class Foo {
bool something;
Foo(bool something) {
this.something = something;
};
}
除非您要使用 final ,否则您将选择第一个或第二个选项。
这些只是同一事物在语法上不同的实现还是它们带来了价值。
当前我使用
默认为第一个(最后几个字段)
第二个用于空合并(或一些小检查)
和第3 个用于基于“发布后”内容启动服务
似乎我可以使用 3rd 选项替换其他选项而没有任何后果(除非对于final字段+ const构造函数)。 它是否正确? (也许其中之一实际上是更快的,因为编译成asm时指令减少了)
避免构造函数体(或相反)有什么好处吗?