Dart中const修饰变量和创建变量的区别
本问主要介绍dart中const放在=左边和右边的区别
1.放在=左边
const放在左边主要是为了修饰变量,一旦被const修复,那么表达式将在编译的时候被确定,右边的值任何时候都不能被更改。如
//foo的值将永远不能被更改
const foo = [1,2,3];
2.放在=右边
const放在右边主要是为了创建变量,创建的变量也是编译的时候被确定的,但是左边的引用却可以被重新赋值的。如
//数组的值将永远不能被更改
var foo = const [1,2,3];
//不会报错,编译正常。
foo = [1,1,1];
//编译报错,因为右边的数组被const修饰了,不能变更。
foo.add(5);