内容

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.