Dart学习-变量

《Dart学习-变量》 Dart

创建变量并初始化的例子:

var name = '永动机';

变量存储引用。名为name的变量包含对String对象的引用,其值为“永动机”。

name变量的类型被推断为String,但你可以通过指定它来更改该类型。如果对象不限于单个类型,请按照设计准则指定对象或动态类型。

dynamic name = '永动机';

另一种选择是显式声明可以推断出的类型:

String name = 'Bob';

默认值-Default value

未初始化的变量的初始值为null。即使是具有number类型的变量最初也是null,因为在Dart中所有内置类型包括number都是对象。

int lineCount;
assert(lineCount == null);

注意:生产代码中将忽略assert()调用。在开发期间,assert(condition)抛出异常,除非条件为真。

Final 和 const

如果你从不打算更改变量,请使用final或const,而不是var或类型。final变量只能设置一次;const变量是编译时常量。(const变量是隐式的final变量)final的顶级变量或类变量在第一次使用时初始化。

注意:实例变量可以是final,但不是const。必须在构造函数体启动之前初始化最终实例变量 – 在变量声明,构造函数参数或构造函数的初始化列表中。

以下是创建和设置final变量的示例:

final name = '永动机'; // 没有类型注释
final String nickname = '你需要一台永动机';

你无法修改final变量的值

name = 'Alice'; // 错误:final变量只能设置一次。

对于要成为编译时常量的变量,请使用const。如果const变量在类级别,则将其标记为static const。如果const变量在类级别,则将其标记为static const。 在声明变量的地方,将值设置为编译时常量,例如数字或字符串文字,const变量或常数上的算术运算结果:

const bar = 1000000; // 压力单位 (dynes/cm2)
const double atm = 1.01325 * bar; // 标准大气压

const关键字不仅用于声明常量变量。你还可以使用它来创建常量值,以及声明创建常量值的构造函数。任何变量都可以具有常量值

var foo = const [];
final bar = const [];
const baz = []; // 相当于 `const []`

你可以从const声明的初始化表达式中省略const,就像上面的baz一样。

foo = [1, 2, 3]; // 相当于 const [1,2,3]

你无法更改const变量的值:

baz = [42]; //错误:无法为常量变量赋值。

有关使用const创建常量值的更多信息,请参阅Lists,Maps和Classes。

    原文作者:你需要一台永动机
    原文地址: https://www.jianshu.com/p/623a40732149
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞