为什么只能将静态字段声明为'const'?

Eri*_*oie 6 dart dart-editor

我刚刚升级了我的Dart编辑器(0.5.16_r23799),并且已经没有bug /警告的代码了.

class Fubar {
  const BAR = 1000000;  
  Fubar(){   
  }
}
Run Code Online (Sandbox Code Playgroud)

开头的行const有标记和此消息:

只有静态字段可以声明为'const'

我读了这个ch02-final-const,没有.

这篇文章镖const的静电场const modifier implies static,如果我们不能用const没有static,我们应该用final呢?...但DOC /后我错过了什么?打算这样做:

Fubar f = new Fubar();
some = f.BAR;
Run Code Online (Sandbox Code Playgroud)

Ale*_*uin 5

这是6月4日Dart语言设计会议注意事项中的最新变化:

const实例变量

吉拉德的观点是,除了范围之外,他们应该像静态一样工作.但显然,它使实例元数据的VM实现变得复杂.三种解决方案

  1. 没有const实例字段.
  2. 元数据是静态范围的.
  3. 尝试正确地做到这一点.

Lars喜欢1.我说1为用户简化了一些事情.现在,人们对静态最终const等感到困惑.Gilad可以1.

我问语法是"静态const"还是"const"?当用常量做"静态"时,用户会感到困惑.

Lars说他们很困惑,因为他们不了解系统.要求"静态"将帮助他们了解正在发生的事情.