Dart入门-语法预览
A basic Dart program(一个最基本的 Dart 程序)
// 定义个方法。
printNumber(num aNumber) {
print('The number is $aNumber.'); // 在控制台打印内容。
}
// 这是程序执行的入口。
main() {
var number = 42; // 定义并初始化一个变量。
printNumber(number); // 调用一个方法。
}
-
//
使用 // 表示后面的文字都是注释。 另外,你还可以使用 /* … */。 -
num
一个类型。 String, int, 和 bool 是另外几种类型。 -
42
一个数字字面量。数字字面量是编译时常量。 -
print()
一种打印内容的助手方法。 -
'...' (或者 "...")
字符串字面量。 -
$ variableName (or ${expression}
字符串插值:在字符串字面量中引用变量或者表达式。 -
main()
Dart 程序执行的入口方法,每个程序都 需要 一个这样的方法。 -
var
一种不指定类型声明变量的方式。
Important concepts(重要的概念)
-
所有能够使用变量引用的都是对象, 每个对象都是一个类的实例。在 Dart 中 甚至连 数字、方法和
null
都是对象。所有的对象都继承于 Object 类。 -
使用静态类型(例如前面示例中的
num
) 可以更清晰的表明你的意图,并且可以让静态分析工具来分析你的代码, 但这并不是牵制性的。(在调试代码的时候你可能注意到 没有指定类型的变量的类型为dynamic
。) -
Dart 在运行之前会先解析你的代码。你可以通过使用 类型或者编译时常量来帮助 Dart 去捕获异常以及 让代码运行的更高效。
-
Dart 支持顶级方法 (例如
main()
),同时还支持在类中定义函数。 (静态函数和实例函数)。 你还可以在方法中定义方法 (嵌套方法或者局部方法)。 -
同样,Dart 还支持顶级变量,以及 在类中定义变量(静态变量和实例变量)。 实例变量有时候被称之为域(Fields)或者属性(Properties)。
-
和 Java 不同的是,Dart 没有
public
、protected
、 和private
关键字。如果一个标识符以 (_) 开头,则该标识符 在库内是私有的。详情请参考: 库和可见性。 -
标识符可以以字母或者 _ 下划线开头,后面可以是 其他字符和数字的组合。
-
有时候 表达式 expression 和 语句 statement 是有区别的,所以这种情况我们会分别指明每种情况。
-
Dart 工具可以指出两种问题:警告和错误。 警告只是说你的代码可能有问题, 但是并不会阻止你的代码执行。 错误可以是编译时错误也可以是运行时错误。遇到编译时错误时,代码将 无法执行;运行时错误将会在运行代码的时候导致一个 异常。