You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dart中//、///、#三种注释方式的区别是什么?

你在Flutter项目里见到的三种注释分属两类使用场景,具体区别如下:

Dart代码注释(Flutter业务逻辑层使用)

1. // 单行普通注释

  • 属于Dart原生语法的普通单行注释,仅作用于当前行
  • 仅给开发人员查看,不会被IDE智能提示识别、也不会被dartdoc文档生成工具收录
  • 适用场景:临时逻辑备注、调试标记、代码片段禁用说明等
  • 示例:
// 临时屏蔽下方上报逻辑,待接口稳定后放开
// Analytics.instance.reportPaySuccess(orderId);

2. /// 文档注释

  • 属于Dart官方推荐的API文档专用注释,支持单行、多行书写
  • 会被IDE识别,鼠标悬浮到对应的类、方法、属性上时会直接显示注释内容;也支持被dartdoc工具提取生成项目API文档
  • 注释内部支持Markdown语法,可以写参数说明、代码示例、版本标记等内容
  • 适用场景:给公共类、公共方法、全局常量、通用组件等对外暴露的API写说明
  • 示例:
/// 根据用户ID获取用户昵称
/// 
/// [uid] 目标用户的唯一ID,无默认值,不能为空
/// 返回值为用户昵称字符串,如果用户不存在返回空字符串
String getNickname(String uid) {
  return userMap[uid] ?? '';
}
项目配置文件注释

3. # 配置文件单行注释

  • 不属于Dart语法,不能在.dart代码文件中使用,否则会触发语法报错
  • 是YAML、ENV等配置文件的标准注释语法,在Flutter项目的pubspec.yaml、analysis_options.yaml、.env等配置文件中生效
  • 适用场景:给依赖配置、环境变量、静态资源配置等加说明
  • 示例:
dependencies:
  flutter:
    sdk: flutter
  # 网络请求库,官方推荐使用
  dio: ^5.4.0

内容的提问来源于stack exchange,提问作者Chevelev Philippe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 07:15:04