- const 声明的常量是编译时确定的,永远不会改变
- final 允许声明后再赋值,赋值后不可改变。声明的变量是运行时确定的。惰性初始化
1.初始化
const PI = 3.14; //不可改变,编译时候就决定了
print(PI);
final time;
time = DateTime.now(); //运行时,赋值后不可改变
2. identical
- 用const关键字,创建一个不可变的对象,创建的对象是同一个对象,所以是同一个内存地址
var d1 = Object();
var d2 = Object();
// print(identical(d1, d2)); //false
// print(identical(d1, d1)); //true
// 用const关键字,创建一个不可变的对象,创建的对象是同一个对象,所以是同一个内存地址
// d3和D4共享存储空间
var d3 = const Object();
var d4 = const Object();
print(identical(d3, d4)); //true
- const修饰不可变组件的性能优化点
直接看这个文章 https://zhuanlan.zhihu.com/p/439593118