首页 > 解决方案 > Dart:为什么常量变量不能是实例变量?

问题描述

https://www.dartlang.org/guides/language/language-tour#final-and-const

在 Dart 文档的 Language Tour 中,它说“注意:实例变量可以是 final 但不是 const。final 实例变量必须在构造函数主体开始之前初始化——在变量声明处、通过构造函数参数或在构造函数的初始化列表中。 "

但是可以使用常量构造函数来创建常量对象。为什么 Dart 中不能将常量变量声明为成员变量?

标签: dartflutter

解决方案


const表示编译时常量。
如果您需要在运行时创建一个实例来创建值,它不再是编译时常量,因此它的成员也不能是const.

静态成员不需要创建实例,因此无论类是否具有 const 构造函数或是否使用它,它都可以是常量const


推荐阅读