dart const static fields

时间:2013-06-08 14:56:17

标签: static const dart

我在SO上阅读this answer,我想知道为什么这些字段被显式声明为static和const。 const字段是否在Dart中编译时间常量?如果不是这样意味着它们是隐含的静态的?

2 个答案:

答案 0 :(得分:5)

理论上,您可以更改Dart,以便const修饰符隐含static。这是一份有效的提案,并得到了积极讨论。

我们更倾向于要求明确的static

,这有两个原因
  • 更清楚地了解如何访问这些变量(就像任何其他静态一样)。
  • 我们可能希望将实例const用于不同的含义。目前,const实例字段严格等同于final字段。但是,他们不需要。例如,您可以更改Dart规范,以允许访问const实例字段作为常量表达式的一部分。 (目前不允许访问const字段右侧的字段。)

答案 1 :(得分:-2)

恒定的课堂:

class Consts {
    static const int maxLength = 50;
}

用法:

...
int length = Consts.maxLength;
...