Dart 中 const 与 final 的区别

发布时间: 2019-07-31 23:41:29 作者: 大象笔记

final

Flutter 官方教程中,有这么一行代码:

final wordPair = WordPair.random();

Final 表明这个变量不能再发生更改,但是这个初始化的值在编译时是不确定的, 只有在运行时,才能确定其值。一旦初始化,则不允许再次发生更改。

例如:

需要注意的是,如果 final 定义的是个 collection,其子元素不需要是 final 的。

const

顾名思义,const 定义时,需要是个明确的值,不能像 final 那样,运行时才知道是什么值。

例如:

const city = '烟台';

需要注意的是,如果 const 定义的是个 collection,其子元素也需要是 const 的。

参考

https://stackoverflow.com/questions/50431055/what-is-the-difference-in-between-const-and-final-keyword-in-dart

我是一名山东烟台的开发者,联系作者