相同点
- 都必须在声明时赋值,且不能被重新赋值。
- const被隐式指定为final。
不同点
- const是编译时常量,所以不能在编译时确定的,用final,如new DateTime().now(),网络数据,数据库数据。
- const变量里的属性不能被重新赋值,final里的可以。
如:
const cli = [1,2,3];
final fli = [4,5,6];
main() {
//cli[1] = 1; //ERROR: cannot modify an unmodifiable list
fli[1] = 1; // 不报错
print(fli[1]);
}