写在前面
本文基本上是将dart官网部分内容进行翻译,没兴趣的请出门左转至Dart的官网,有兴趣的同志请继续阅读本文。
Flutter教程在这里
1.什么是Dart?
以下来自百度百科:
Dart是谷歌开发的计算机编程语言,后来被Ecma (ECMA-408)认定为标准 [1] 。它被用于web、服务器、移动应用 [2] 和物联网等领域的开发。它是宽松开源许可证(修改的BSD证书)下的开源软件。
Dart是面向对象的、类定义的、单继承的语言。它的语法类似C语言,可以转译为JavaScript,支持接口(interfaces)、混入(mixins)、抽象类(abstract classes)、具体化泛型(reified generics)、可选类型(optional typing)和sound type system。
事实上,Dart被抛弃过,但Dart这门语言已经发展到2.x了。
2.为什么要学Dart?
大千世界,语言不计其数,这次我们要学习的为是Dart?答案是因为google推出的全新的跨平台UI框架--Flutter,而Flutter所使用的语言便是Dart。
3.初识Dart
以下代码展示了使用频率非常高并且最基础的Dart语法:
// 定义一个函数.
printInteger(int aNumber) {
print('The number is $aNumber.'); // 将内容输出至控制台.
}
//和很多语言一样,dart选择了main()作为程序入口.
main() {
var number = 42; // 声明并且定义一个变量.
printInteger(number); // 调用一个函数.
}
4.Dart的注释
Dart的注释分为三种,举例说明:
- 单行注释
以//
以为开始。在//
和行尾之前的内容会被Dart编译器忽略掉。
void main() {
// TODO: refactor into an AbstractLlamaGreetingFactory?
print('Welcome to my Llama farm!');
}
- 多行注释
以/*
开始并以*/
为结束。/*
和*/
之前的内容会被Dart编译器忽略掉(除非注释是文档注释,下小节会介绍文档注释)。多行注释是可以嵌套的。
void main() {
/*
* This is a lot of work. Consider raising chickens.
Llama larry = Llama();
larry.feed();
larry.exercise();
larry.clean();
*/
}
3. 文档注释
文档注释是多行或者单行注释,以///
或者/**开始。使用///
注释连续的行与多行文档注释有相同的效果。
在文档注释中,Dart编译器会忽略所有文本,除非它被括在括号中。使用方括号,可以引用类、方法、字段、顶级变量、函数和参数。括号中的名称在文档化的程序元素的词法范围中解析。
/// A domesticated South American camelid (Lama glama).
///
/// Andean cultures have used llamas as meat and pack
/// animals since pre-Hispanic times.
class Llama {
String name;
/// Feeds your llama [Food].
///
/// The typical llama eats one bale of hay per week.
void feed(Food food) {
// ...
}
/// Exercises your llama with an [activity] for
/// [timeLimit] minutes.
void exercise(Activity activity, int timeLimit) {
// ...
}
}
在生成的文档中,[Food]成为指向Food类的API文档的链接。
使用这个SDK可以解析Dart代码以及生HTML文档。