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的内置类型

结语:
最近在录制视频,到时候也会免费放在公众号中供大家学习交流使用。如果对您有用请关注,如果文中有错也欢迎指正。共同学习,共同进步。欢迎关注公众号”计算机自学平台“。

原创文章 52 获赞 40 访问量 9万+

猜你喜欢

转载自blog.csdn.net/farley119/article/details/103097348