Skip to content

Dart 支持单行注释、多行注释和文档注释。

单行注释

单行注释以 // 开头。从 // 到行尾的所有内容都会被 Dart 编译器忽略。

dart
void main() {
  // TODO: 重构为 AbstractLlamaGreetingFactory?
  print('欢迎来到我的羊驼农场!');
}

多行注释

多行注释以 /* 开头,以 */ 结尾。/**/ 之间的所有内容都会被 Dart 编译器忽略(除非该注释是文档注释,详见下一节)。多行注释可以嵌套。

dart
void main() {
  /*
   * 这是很多工作。考虑养鸡吧。

  Llama larry = Llama();
  larry.feed();
  larry.exercise();
  larry.clean();
   */
}

文档注释

文档注释是多行或单行注释,以 ////** 开头。在连续行上使用 /// 与多行文档注释效果相同。

在文档注释中,分析器会忽略所有文本,除非文本包含在括号内。使用括号可以引用类、方法、字段、顶级变量、函数和参数。括号中的名称会在被文档化的程序元素的词法作用域中解析。

以下是包含对其他类和参数引用的文档注释示例:

dart
/// 一种驯化的南美骆驼科动物(大羊驼属)。  
///  
/// 自前西班牙时期以来,安第斯文化就将羊驼用作肉类和驮畜。  
///  
/// 就像任何其他动物一样,羊驼需要进食,因此不要忘记用 [feed] 给它们喂一些 [Food]
class Llama {  
  String? name;  

  /// 用 [food] 喂养你的羊驼。  
  ///  
  /// 典型的羊驼每周吃一捆干草。  
  void feed(Food food) {  
    // ...  
  }  

  /// 用 [activity] 让你的羊驼锻炼 [timeLimit] 分钟。  
  void exercise(Activity activity, int timeLimit) {  
    // ...  
  }  
}

在该类生成的文档中,[feed] 会成为指向 feed 方法文档的链接,[Food] 会成为指向 Food 类文档的链接。

要解析 Dart 代码并生成 HTML 文档,可以使用 Dart 的文档生成工具 dart doc。有关生成文档的示例,请参阅 Dart API 文档。有关如何组织注释的建议,请参阅 Effective Dart:文档