个人学习用
不严谨
学习的话请看别的博客
变量的三种关键字:var dynamic Object
var :一开始定义后不能更改数据类型,但是一开始不赋值的话,以后可以更改数据类型
//var.如果是var那么开始不能给他赋值
//var定义时候赋值了,就不能更改他的数据类型了
var name ='张三';
//定义时候没有初始化值,所以可以更改类型
var name;
name = "String";
name = 10;
dynamic:编译时期不会检测数据类型,但是运行时候会检测,而且不能使用Extension扩展的方法
//dynamic,编译时不会检测数据类型,运行时会推断,而且不能使用Extension扩展的方法
dynamic age;
age = "ssss";
age = 12;
Object:类型可变,初始化了也可以变化,所有的类的公共的父类
//Object,类型可变,初始化了也可变
Object obj = "sss";
obj = 123;
var dynamic Object三者的区别
dynamic:动态数据类型,运行时数据类型,只有运行的时候才知道变量的数据类型
优点:可以定义任何数据类型
缺点:会使得代码运行语法检查失效,dart是静态语法检查,而dynamic只有运行的时候才会检查
var:被赋值的时候,数据类型已经被确定,不可更改数据类型,如果定义时候不赋值,则可以更改数据类型
Object:被定义的时候有对应的方法可以调用