Dart语言学习笔记(变量)

这篇主要讲解了Dart语言中的变量。

变量

一个简单的创建变量并赋值的例子。

1
2
// 这里会被推断为 String 类型
var name = 'Max';

上面的变量name会被自动推断为String类型,但是也可以指定特定的类型。如果对象不限于单一类型,可以指定为 Objectdynamic

1
dynamic name = 'Bob';

显式的声明变量类型

1
String name = 'Max';

默认值

未初始化的变量初始值都为 null

1
2
3
int lineCount;
assert(lineCount == null); // 断言条件如果为假,则会引发异常
print(lineCount); // null

常量

如果你不打算改变一个变量的值,可以使用final或者const来声明一个常量。常量在声明时必须初始化,同时可以省略 var 或者其他类型

1
2
3
final name = 'Max';
// name = 'Max'; // 取消注释会导致错误,常量只能在定义时设置一次值
final String nickname = 'Max';

虽然constfinal都是定义常量,但是还有细微的区别:

  • const 定义的时编译时常量,只能用编译时常量来初始化
  • final 定义的常量可以用变量来初始化
    1
    2
    final time = new DateTime.now(); // Ok
    const time = new DateTime.now(); // Error