语法较为简单,有编程基础即可看懂。
变量
- 变量是一个引用,Dart万物皆对象,变量储存的是对象的引用
声明变量
- 显示指明类型
- 不指明类型
int age =18; var age = 18;
- 变量大小写敏感
- 所有变量不初始化默认值为空,即null,其编译器会检测对null的使用并报错,但是安全空声明的变量可以使用,在编译时不报错
late限定的两种用法
声明一个非空变量,但不在声明时初始化,通常 Dart 的语义分析可以检测非空变量在使用之前是否被赋值,但有时会分析失败。常见的两种情况是在分析顶级变量和实例变量时,Dart 通常无法确定它们是否已设值,因此不会尝试分析。
如果你确定变量在使用之前已设置,但 Dart 推断错误的话,可以将变量标记为 late 来解决这个问题:
- 延迟初始化一个变量,当一个
late
修饰的变量在声明时就指定了初始化方法,那么内容会在第一次使用变量时运行初始化。比如一个变量的初始化方法开销很大,那么当变量未使用时,永远都不会调用那个开销大的方法
- 如果late限定时指定了初始化方法,那么
变量不会进行隐式转换
常量
声明常量可以用const和final,区别是,const是常量,必须在编译前确定,final可以在运行时确定。
const age = 18; final age = 18; const time = time.now(); //fail