乐趣区

关于flutter:Flutter-17Flutter教程Dart语言变量

作者 | 弗拉德
起源 | 弗拉德(公众号:fulade_me)

2011 年 10 月 10 日的 GOTO 大会上,谷歌的两位工程师公布了“Dart”;Dart 是一种全新的编程语言,旨在帮忙开发者构建 Web 应用程序。Dart 1.0 于 2013 年 11 月 14 日公布。咱们日常开发 Flutter 应用的就是 Dart 语言,所以咱们有必要理解一下 Dart 语言的应用办法。

文章首发地址

类型平安的语言

Dart 语言是类型平安的语言,然而因为其反对类型推断,因而大多数变量不须要显式地指定类型:
例如

/// 初始化一个字符串
var name = 'Fulade';
/// Int 类型
var year = 1995;
/// 浮点数类型
var antennaDiameter = 3.7;
/// 数组
var list = ['Java', 'Python', 'C++', 'C'];
/// 字典类型
var image = {'tags': ['土星'],
  'url': '//path/to/saturn.jpg'
};

变量

上面的示例代码将创立一个变量并将其初始化:

var name = 'Fulade';

变量仅存储对象的援用。
这里名为 name 的变量存储了一个 String 类型对象的援用,'Fulade' 则是该对象的值。
name 变量的类型被推断为 String,然而你能够为其指定类型。
如果一个对象的援用不局限于繁多的类型,能够将其指定为 Objectdynamic 类型。

dynamic name = 'Bob';

除此之外你也能够指定类型:

String name = 'Bob';

默认值

在 Dart 中,未初始化的变量领有一个默认的初始化值:null。即使数字也是如此,因为在 Dart 中所有皆为对象,数字也不例外。

int lineCount;
if(lineCount == null) {print("line is null");
}
Final 和 Const

如果你不想更改一个变量,能够应用关键字 final 或者 const 润饰变量,这两个关键字能够代替 var 关键字。
须要留神的是:
final 变量只能够被赋值一次;
const 变量是一个编译时常量。(const 变量同时也是 final
final 润饰的变量在第一次应用的时候被初始化。
上面的示例中咱们创立并设置两个 final 变量:

final name = 'Bob'; // Without a type annotation
final String nickname = 'Bobby';

你不能批改一个 final 变量的值:

name = 'Alice'; // Error: a final variable can only be set once.

应用关键字 const 润饰变量示意该变量为 编译时常量。如果应用 const 润饰类中的变量,则必须加上 static 关键字,即 static const(留神:程序不能颠倒)。在申明 const 变量时能够间接为其赋值,也能够应用其它的 const 变量为其赋值:

const i = 10; // 间接赋值 [Unit of pressure (dynes/cm2)]
const double j = 1.01325 * i; // 利用其它 const 变量赋值 

本文所有代码都已上传到 Github


退出移动版