<p>Go仅支持//单行和/ /多行注释,前者用于文档注释(影响godoc),后者不可嵌套;注释不编译进二进制,但过期注释比无注释更危险。</p>Go 语言注释没有"规范教程"这回事------只有官方明确支持的两种写法,其他全是无效或危险操作。怎么写单行注释?用 //,不是 # 也不是 /* */ 套单行Go 只认 // 开头的单行注释,后面所有内容直到换行都被忽略。常见错误是抄 Python 或 Shell 习惯写 #,结果编译直接报错:syntax error: unexpected #。// 后面建议空一格,比如 // 返回用户ID,不是 //返回用户ID(不影响运行,但 go fmt 会自动加空格)别在 func 签名中间插 //,比如 func foo() // 这里不能断行 ------ Go 不允许语句跨行中断,会报 syntax error: unexpected newline注释不能出现在字符串字面量里,"hello // world" 中的 // 不是注释,就是普通字符怎么写多行注释?只用 /* */,且不能嵌套/* */ 是唯一合法的多行注释形式,但 Go 明确禁止嵌套:写 /* outer /* inner */ outer end */ 会导致编译失败,报错 unexpected /* 或提前截断逻辑。实际开发中极少用 /* */,因为 go fmt 不处理它里面的缩进,容易让代码块错位;更麻烦的是,如果误删了结尾的 */,整个文件可能被当成一块注释,报一堆 expected '}', found 'EOF'导出函数/类型前的文档注释必须用 //(连续多行),不是 /* */ ------ 否则 godoc 和 IDE 无法提取,比如:// User 表示一个系统用户<br>// 字段需公开(首字母大写)才能被外部包访问<br>type User struct {<br> ID int<br> Name string<br>}注释会被编译进二进制吗?不会,但文档注释影响 godoc 输出所有 // 和 /* */ 在编译时完全剔除,不占二进制体积、不参与任何运行时行为。但以 // 开头、紧贴在导出标识符(首字母大写的 func/type/const)上方的连续注释块,会被 godoc 提取为文档。 RedClaw 百度推出的手机端万能AI Agent助手
相关推荐
南京云森杉木桩7 分钟前
水利木桩源头直供,质量可靠价格更优Aaron - Wistron16 分钟前
Python基础教程2/4(复合数据结构)小柯南敲键盘19 分钟前
跨境电商图片翻译与视频字幕翻译工具推荐名字还没想好☜39 分钟前
Kubernetes StatefulSet 实战:为什么数据库不能用 Deployment 部署ZC跨境爬虫42 分钟前
LeetCode 13. 罗马数字转整数(多解法详解 + Java Python 实现)machnerrn1 小时前
智慧交通系列(一)-十字路口车辆闯红灯检测告警抓拍系统(附含数据+源码+模型)现代野蛮人1 小时前
【深度学习实验】—— 利用 RNN 模型进行心脏病预测2601_956319881 小时前
2026年用示例、拆解和练习提升量化理解效率01_ice2 小时前
MySQL事务王志来137944730082 小时前
从分散到集成:工控服务器机箱采购如何实现“一站式”破局