Dart学习-变量

作者: 你需要一台永动机 | 来源:发表于2018-10-16 14:00 被阅读19次
    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。

    相关文章

      网友评论

        本文标题:Dart学习-变量

        本文链接:https://www.haomeiwen.com/subject/efkqzftx.html