https://www.dartlang.org/guides/language/language-tour#final-and-const
\n\n在 Dart 文档语言之旅中,它说“注意:实例变量可以是最终变量,但不能是常量。最终实例变量必须在构造函数体在变量声明处启动 \xe2\x80\x94 之前通过构造函数参数或在构造函数\xe2\x80\x99s 初始值设定项列表。”
\n\n但可以使用常量构造函数创建常量对象。为什么在 Dart 中不能将常量变量声明为成员变量?
\nconst表示编译时常数。
如果您需要在运行时创建实例来创建值,则它不再是编译时常量,因此它的成员也不能是const.
静态成员不需要创建实例,因此无论类是否有 const 构造函数或者是否使用它,静态成员都可以是常量const。
类中可以有常量,但它们不会被归类为实例变量。关键在于final和const之间的区别,你不能有const实例变量,因为常量不是变量。
不过,类内的常量必须是静态的,因此您可以编写如下内容:
class MyClass {
static const kMyConstant = 100;
void talk() {
print('My constant is $kMyConstant');
}
}
Run Code Online (Sandbox Code Playgroud)
这在 dart 中是完全有效的。
| 归档时间: |
|
| 查看次数: |
5031 次 |
| 最近记录: |