Dart编程语言从基础到进阶2

深渊向深渊呼唤

Dart编程语言从基础到进阶 在进行下一步学习之前,我们先来了解一下关于Dart中的变量、默认值以及Final、Const的基础知识。 变量 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。 下面我们来看下在Dart中是怎么声明一个变量并进行初始化的: var name = "farley"; 在Dart中变量仅储存对象的引用。在上面的代码中变量name存储了一个内容为”farley“的String类型对象的引用。 上节我们提过一下,使用var生命的变量是没有指定类型的,但是它可以自己去根据初始化的值去推断类型。在上面的代码中name就被推断为String类型。如果我们并不确定他的类型也可以通过dynamic关键字去修饰,上面说过了我们在这里就讨论了。 默认值 在Dart中一切皆对象前面我们也说过,所以在Dart中只要没有初始化的变量,它的默认值都是null。数字也不例外。 int name; assert(name == null); 注:assert()是断言,只要括号内的值不是true就会报异常。 Final 和 Const 如果你不想更改一个变量,可以使用关键字 final 或者 const 修饰变量,这两个关键字可以替代 var 关键字或者加在一个具体的类型前。一个 final 变量只可以被赋值一次;一个 const 变量是一个编译时常量(const 变量同时也是 final 的)。顶层的 final 变量或者类的 final 变量在其第一次使用的时候被初始化。 比如: final name = 'farley';//此时final替代var用于修饰变量名 final String nickname = 'farley';//将final加在具体的类型前面 如果在这之后你再去对这个变量做赋值操作的时候就会出现:error/warning name = '计算机自学平台';//错误....final变量只能被设置一次 在声明 const 变量时可以直接为其赋值,也可以使用其它的 const 变量为其赋值: const age = 12;//直接赋值

const double temp = 2.1314 * age;//利用其它const变量去赋值 const关键字不仅仅可以用来定义常量,还可以用来创建 常量值,该常量值可以赋予给任何变量。你也可以将构造函数声明为 const 的,这种类型的构造函数创建的对象是不可改变的。 var foo = const[]; final bar = const[]; const baz = [];//相当于const[] 如果使用初始化表达式为常量赋值可以省略掉关键字 const,比如上面的常量 baz 的赋值就省略掉了 const。 没有使用 final 或 const 修饰的变量的值是可以被更改的,即使这些变量之前引用过 const 的值。 foo = [1,2,3];//foo 的值之前为const[] 常量的值不可以被修改: baz = [42];//错误:常量不可以被重复赋值 下节内容:Dart的内置类型 结语: 最近在录制视频,到时候也会免费放在公众号中供大家学习交流使用。如果对您有用请关注,如果文中有错也欢迎指正。共同学习,共同进步。欢迎关注公众号”计算机自学平台“。

栏目