Dart中定义变量的方式有两种:
一:明确的指定变量的数据类型
String name;
int age;
double height;
二:使用 var / dynamic / Object 声明变量
var message1;
message1 = "str";
message1 = 19; //这行代码会报错
dynamic message2;
message2 = 1.78;
message2 = "message2";//这行代码不会报错
print("${message2.length}");
Object message3;
message3 = 10;
message3 = "message3";
print("${message3.lenngth}"); //这句代码会报错
变量总结:
var与dynamic的区别
1.var声明的变量一经赋值后,数据类型就已经确定,不可以接收其他的数据类型,所以message1 = 19
这行代码报错
2.dynamic声明的变量在第一次赋值后,可以继续接收其他的数据类型,所以message2 = "message2"
这行代码不会报错
dynamic与Object的区别
1.dynamic与Object声明的变量都可以再次接收其他类型的数据类型
2.dynamic声明的变量可以使用变量运行时的属性跟方法,String类型的变量有length属性,所以可以使用,Object声明的变量只能使用Object本身的属性以及方法,Object类型本身不具备lehgth属性,所以print("${message3.lenngth}");
这行代码会报错
三:final与const声明常量
const str = "sj";
final msg = "msg";
常量总结:
1.const与final 都用于声明常量,而且已经赋值都不可以被修改
2.const声明常量时,必须赋值明确的值,final声明的常量可以在运行时再赋值