1.变量
Dart2.0之前申明变量的方式类似js,使用var来做类型修饰,当没有赋值的时候默认为null,当赋值后,Dart自动识别数据类型
(1)例如:var string = 'Hello World' ; var i = 1;
Dart2.0之后增加了强类型的支持,类似java
(2)例如:String s = 'Hellow World';int i = 0;double i = 1.0; num i = 1.0(num类型支持int,和double,从类的关系来看,num是int和double的父类)
2.常量
final 与const 都是表示常量,final 与 const有本质区别的:
(1)final 表示单一赋值:final变量或字段必须初始化。 一旦赋值,就不能改变final变量的值。 final修饰变量
(2)const 修饰值:const修饰的对象意味着对象的整个深度状态可以再编译时完全确定,并且对象将冻结并完全不可变
例:
final calendar=new Duration(); (正确)
const calendar1=new Duration();(错误)
final calendar=new DateTime(); (正确)
const calendar1=new DateTime();(错误)