Dart常量
final 和 const修饰符
const值不变,一开始就得赋值
final可以开始不赋值,只能赋值一次;而final不仅有const的编译时常量的特性,最重要的它是运行时常量,并且final是惰性初始化,即在运行时第一次使用前才初始化。
均表示不可被修改
相同点
1、final、const必须初始化
2、 final、const只能赋值一次
不同点
1、 final可修饰实例变量、const不可以修饰实例变量
2、访问类中const修饰的变量需要static修饰
3、const修饰的List集合任意索引不可修改,final修饰的可以修改
4、const 用来修饰变量 只能被赋值一次,在编译时赋值
final 用来修饰变量 只能被赋值一次,在运行时赋值
5、final 只可用来修饰变量, const 关键字即可修饰变量也可用来修饰 常量构造函数
当const修饰类的构造函数时,它要求该类的所有成员都必须是final的。
相同点
1、final、const必须初始化
2、 final、const只能赋值一次
不同点
1、 final可修饰实例变量、const不可以修饰实例变量
2、访问类中const修饰的变量需要static修饰
3、const修饰的List集合任意索引不可修改,final修饰的可以修改
4、const 用来修饰变量 只能被赋值一次,在编译时赋值
final 用来修饰变量 只能被赋值一次,在运行时赋值
5、final 只可用来修饰变量, const 关键字即可修饰变量也可用来修饰 常量构造函数
当const修饰类的构造函数时,它要求该类的所有成员都必须是final的。