Dart 支持单行注释、多行注释和文档注释。
单行注释
#单行注释以 //
开头。Dart 编译器会忽略 //
和行尾之间的所有内容。
dart
void main() {
// TODO: refactor into an AbstractLlamaGreetingFactory?
print('Welcome to my Llama farm!');
}
多行注释
#多行注释以 /*
开头,以 */
结尾。Dart 编译器会忽略 /*
和 */
之间的所有内容(除非注释是文档注释;请参阅下一部分)。多行注释可以嵌套。
dart
void main() {
/*
* This is a lot of work. Consider raising chickens.
Llama larry = Llama();
larry.feed();
larry.exercise();
larry.clean();
*/
}
文档注释
#文档注释是多行或单行注释,以 ///
或 /**
开头。在连续多行上使用 ///
与多行文档注释具有相同的效果。
在文档注释内部,分析器会忽略所有未用括号括起来的内容。使用括号,可以引用类、方法、字段、顶级变量、函数和参数。括号中的名称将在已记录程序元素的词法范围内解析。
下面是包含对其他类和参数引用的文档注释示例
dart
/// A domesticated South American camelid (Lama glama).
///
/// Andean cultures have used llamas as meat and pack
/// animals since pre-Hispanic times.
///
/// Just like any other animal, llamas need to eat,
/// so don't forget to [feed] them some [Food].
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) {
// ...
}
}
在类的生成文档中,[feed]
会变为指向 feed
方法文档的链接,[Food]
会变为指向 Food
类文档的链接。
要解析 Dart 代码并生成 HTML 文档,可以使用 Dart 的文档生成工具 dart doc
。有关生成文档的示例,请参阅 Dart API 文档。有关如何构建注释的建议,请参阅 Effective Dart: Documentation.