作者 | 弗拉德
来源 | 弗拉德(公众号: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
,但是你可以为其指定类型。
如果一个对象的引用不局限于单一的类型,可以将其指定为 Object
或 dynamic
类型。
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 变量赋值
视频教程
https://www.bilibili.com/vide...
本文所有代码都已上传到Github
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。