本文参考如下网址
http://www.cndartlang.com/658.html
http://dart.goodev.org/guides/language/language-tour
注意标红部分与参考网页上有些许区别
void main() { final name = 'Bob'; // 正确 // name = 'Alice'; // 错误,final 变量只能赋值一次 // const name1; // 错误,const 变量是编译时常量,需要在声明时赋值进行初始化 // final name1; // 错误,final变量需要在声明时赋值进行初始化 const name2 = 'Alice'; // 正确 // const name3 = name; // 错误,name 是个变量,不能赋给const final name4 = name2; // 正确,可以把const 常量赋给 final 变量 // final names1 = const[name, 3, 4]; // 错误,name 是个变量,不能赋给const final names2 = const[name2, 'Allen', 'Brian']; const names3 = ['A', 'B', 'C']; // 正确。这里与参考 http://www.cndartlang.com/658.html 有点差别,经实测是正确的 const names4 = const['A','B', 'C']; // 正确。 print(names3[1]); print(names4[1]); }