Dart变量
- var可变变量,但在赋值之后就定了。如下,赋值之后,n只能为int型。
var n = 1;
- dynamic变量,可以赋值任意对象,并且后面也可以变类型。
dynamic n;
n =1;
n ="11";
n.width;
上述代码n的赋值都是可行的,但是在对n的调用的时候,由于dynamic是不确定n的类型的,所以编译正常,但是运行时会异常。
-
Object变量,可以赋值任意对象,并且后面也可以变类型。 原因:Object是所有类型的根基类,所以可以赋值任意对象类型。 与dynamic区别: Object对象只能用Object的方法。 Object n = "";
n.length;
-
final变量类似于JAVA的final,第一次初始化之后就不能改变。当然也和JAVA类似,final声明的对象类型,对象的属性是可以修改的。 -
const变量,只能声明常量值,编译阶段直接替换成常量了。也就是说,const定义的对象是不能改变属性的。 存疑,待确认 同时,利用const定义的构造方法,由于是常量型的构造方法,创建两个对象的时候,如果属性一样,会创造同一个对象。 -
空安全类型变量,默认变量都是不可空的,可主动声明为可空对象,与kotlin类似。 int n;
int? n;
string?.length
注意:Dart中所有的一切都是变量。包括null,123等。
|