Dart中懒加载late和常量final,const

late 懒加载

late定义的变量在第一次使用时才初始化。

main(List<String> args){
  late String i = getVal();
  print("懒加载");
  print(i);//使用,开始初始化i值
}
getVal(){
    print("懒加载执行");
    return "hello";
}
/*
  打印结果如下
  懒加载
  懒加载执行
  hello
*/

常量

final 和 const

final 和 const 定义的常量一经初始化便不可以再修改

final PI;
PI = 3.1415926;
PI = 3.14;// 错误,不能再次赋值

final 和 const的区别

用final在定义时可以不赋值,但是const必须赋值而且不能是计算值(计算值:通过方法返回的值)

final PI;//没毛病
const PI;//语法错误
const PI = ReturnPI();//错误,调用函数就算计算值
`
posted @ 2023-03-14 14:57  勤匠  阅读(250)  评论(0编辑  收藏  举报