注释
注释是用于解释和说明代码的,适当地注释代码可增强代码的可读性的,Dart 也是支持注释的,注释一般是不会影响到代码的执行的。除了 HTML 的条件注释。
单行注释
单行注释就是只有一行的注释,以 // 开始。 // 之后的本行内容会被编译器忽略。
void main() {
// TODO: refactor into an AbstractLlamaGreetingFactory?
print('Welcome to my Llama farm!');
}
多行注释
多行注释可以跨越多行,以 / 开始, / 结尾。 在 / 和 / 之间的内容会被编译器忽略 (不会忽略文档注释)。 多行注释可以嵌套。
void main() {
/*
* This is a lot of work. Consider raising chickens.
Llama larry = Llama();
larry.feed();
larry.exercise();
larry.clean();
*/
}
文档注释
文档注释是用于代码文档编写的,可以是多行注释,也可以是单行注释, 文档注释以 /// 或者 /** 开始。 在连续行上使用 /// 与多行文档注释具有相同的效果。
在文档注释中Dart 编译器会忽略所有文本,除非用中括号括起来。 使用中括号可以引用类、 方法、 字段、 顶级变量、 函数、 和参数。 括号中的符号会在已记录的程序元素的词法域中进行解析。
下面是一个引用其他类和成员的文档注释:
/// 一种驯养的南美骆驼类动物.
///
/// 自从西班牙时代以来,
/// 安第斯文化就将骆驼当做肉食类和运输类动物。
class Llama {
String name;
/// 喂养骆驼 [Food].
///
/// 典型的美洲驼每周吃一捆干草。
void feed(Food food) {
// ...
}
/// 使用 [activity] 训练骆驼
/// [timeLimit] 分钟。
void exercise(Activity activity, int timeLimit) {
// ...
}
}
[Food] 在生成的文档中会成为一个链接, 指向 Food 类的 API 文档。