美文网首页Android开发Android开发经验谈Dart教程
Dart In Action -Dart快速入门(三)

Dart In Action -Dart快速入门(三)

作者: JarvanMo | 来源:发表于2018-07-23 16:09 被阅读6次

    写在前面

    本文基本上是将dart官网部分内容进行翻译,没兴趣的请出门左转至Dart的官网,有兴趣的同志请继续阅读本文。
    Flutter教程在这里

    Final 和 const

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

    注意:实例变量可以是final的,但不能是const
    下面是一个创建并设置final变量的例子:

    final name = 'Bob'; // 没有声明类型
    final String nickname = 'Bobby'
    

    您不可以修改一个final变量的值:

    name = 'Alice'; // 错误: final变量只能被始化一次。
    

    如果您让变量变成编译时常量,请使用const。 如果const变量是class级别的,则将其标记为static const。 在声明变量的地方,将值赋给编译时常量,例如数字或字符串文字,const变量或常数上的算术运算结果:

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

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

    var foo = const [];
    final bar = const [];
    const baz = []; // 等同于 to `const []`
    

    您可以从const声明的初始化表达式中省略const,就像上面的baz一样。 有关详细信息,请参阅不要冗余地使用const
    您可以改变一个非 final或 非const变量的值,即使它曾经有一个常量值。

    foo = [1, 2, 3]; // 曾经是 const []
    

    你不能改变一个const变量的值:

    baz = [42]; // 错误: const变量不能赋值。
    

    内置类型

    Dart特别支持以下类型:

    • 数字类型
    • 字符串
    • 布尔值
    • 表(lists,也被称作数组)
    • 映射(maps)
    • 符文(用于表示字符串中的Unicode字符)
    • 符号

    您可以使用文字初始化任何这些特殊类型的对象。 例如,'this is a string'是一个字符串值,true是一个布尔文 值。

    因为Dart中的每个变量都引用一个对象 - 一个类的实例 - 您通常可以使用构造函数来初始化变量。 一些内置类型有自己的构造函数。 例如,您可以使用Map()构造函数来创建Map。

    相关文章

      网友评论

        本文标题:Dart In Action -Dart快速入门(三)

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