Dart学习笔记1

2018-12-26  本文已影响0人  Love零O

Variables(变量)

下面是声明变量并赋值的示例:

var name="jeck";

变量是一个引用。上面名字为 name 的变量引用了 一个内容为 “jeck” 的 String 对象。

Default value(默认值)

没有初始化的变量自动获取一个默认值为null。类型为数字的变量如何没有初始化其值也是null,不要忘记了,数字类型也是对象。

int count;
assert(count == null);

注意: 在生产模式 assert() 语句被忽略了。在Debug mode assert(condition) 会执行,如果条件不为 true 则会抛出一个异常。详情请参考 Assert 部分。

Optional types(可选的类型)

在声明变量的时候,你可以选择加上具体 类型:

 String name="jeck";

添加类型可以更加清晰的表达你的意图。 IDE 编译器等工具有可以使用类型来更好的帮助你, 可以提供代码补全、提前发现 bug 等功能。

Final and const

如果你以后不打算修改一个变量,使用 final 或者 const。 一个 final 变量只能赋值一次;一个 const 变量是编译时常量。(Const 变量同时也是 final 变量。) 顶级的 final 变量或者类中的 final 变量在 第一次使用的时候初始化。

注意: 实例变量可以为 final 但是不能是 const 。

下面是 final 变量的示例:

final name="Bob";

const 变量为编译时常量。 如果 const 变量在类中,请定义为 static const。 可以直接定义 const 和其值,也可以定义一个 const 变量使用其他 const 变量的值来初始化其值。

  const bar = 1000;
  const atm = 1.024 * bar;

const 关键字不仅仅只用来定义常量。 有可以用来创建不变的值, 还能定义构造函数为 const 类型的,这种类型的构造函数创建的对象是不可改变的。任何变量都可以有一个不变的值。

// Note: [] creates an empty list.
// const [] creates an empty, immutable list (EIA).
var foo = const [];   // foo is currently an EIA.
final bar = const []; // bar will always be an EIA.
const baz = const []; // baz is a compile-time constant EIA.

// You can change the value of a non-final, non-const variable,
// even if it used to have a const value.
foo = [];

// You can't change the value of a final or const variable.
// bar = []; // Unhandled exception.
// baz = []; // Unhandled exception.
上一篇 下一篇

猜你喜欢

热点阅读