• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

关于Dart2那些事儿-变量

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

生活的道路一旦选定,就要勇敢地走到底,决不回头。——左拉

变量

这里有一个创建变量并初始化它的例子:
var name = ‘Bob’;
变量存储引用。名为name的变量包含对字符串对象的引用,值为“Bob”。
Name变量的类型被推断为String,但是您可以通过指定它来更改该类型。如果对象不限于单一类型,请按照[设计指导]原则指定对象 (Object)或动态(dynamic)类型。
dynamic name = ‘Bob’;
另一种方法是显式声明要推断的类型:
String name = ‘Bob’;
注意:这个页面遵循了对本地变量使用var而不是类型注解的风格指南建议。

默认值

未初始化的变量的初始值为null。甚至具有数字类型的变量最初也是null,因为数字——就像dart中的其他东西一样——是对象。
int lineCount;
assert(lineCount == null);
注意:在生产环境中,assert()调用被忽略。在开发环境中当assert(condition) 的condition条件不为真时抛出一个异常。详细信息请查看[ Assert]。

Final和const修饰符

如果您从未打算更改一个变量,请使用final或const修饰他,而不是使用var或其他变量类型。最终变量只能设置一次;const变量是一个编译时常数。(Const变量是隐式最终变量。)最终的顶级或类变量在第一次使用时被初始化。
注意:实例变量可以是final,但不能是const。[实例变量定义在对象一级,它可以被类中的任何方法或者其他类中的方法访问,但是不能被静态方法访问。]
这里有一个创建和设置final变量的例子:
final name = ‘Bob’; // Without a type annotation
final String nickname = ‘Bobby’;
您无法更改final变量的值:
name = ‘Alice’; // Error: a final variable can only be set once.
//这个是错误示例,在使用时final变量是不可以更改的
对于想要在编译时确定并且不再变的变量,使用const。如果const变量位于类级别,则将其标记为静态const。在声明该变量时,将该值设置为编译时常量,例如数字或字符串字面量、const变量或常量数字算术运算的结果:
const bar = 1000000; // Unit of pressure (dynes/cm2)
const double atm = 1.01325 * bar; // Standard atmosphere
Const关键字不只是声明常量变量。您还可以使用它来创建常量值,以及声明创建常量值的构造函数。任何变量都可以赋一个常量值。
var foo = const [];
final bar = const [];
const baz = []; // Equivalent to const []
您可以从const声明的初始化表达式中省略const,如上面的baz。有关细节,请参见[不要多余的使用const]。
您可以更改一个非final的非const变量的值,即使它曾经有一个const值:
foo = [1, 2, 3]; // Was const []
你不能改变const变量的值:
baz = [42]; // Error: Constant variables can’t be assigned a value.
有关使用const创建常量值的更多信息,请参见 [Lists], [Maps], 和 [Classes]。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap