<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助手
相关推荐
z落落16 小时前
StudentInfo表 分页、增删改 存储过程+C# WinForm 存储过程实现分页和增删改查影寂ldy16 小时前
WinForm 数据库【新增+编辑】完整功能(参数化查询+配置文件+防报错全套)迷枫71216 小时前
达梦数据库 Hint 使用与 Hint 注入实战Python私教17 小时前
Codex 写出的代码能跑却算错钱:我用 3 个测试拆穿一次 AI 编程幻觉Python私教17 小时前
我只写了一个 add 工具,终于把 MCP 的 Host、Client、Server 跑明白了小大宇17 小时前
python milvus 案例Gauss松鼠会18 小时前
【GaussDB】GaussDB锁阻塞源头查询2601_9657984718 小时前
How to Build a Custom Artisan Store on WordPress: Crafti Theme Review霸道流氓气质18 小时前
Spring 事务传播机制与 REQUIRES_NEWBerryS3N18 小时前
Java 后端转型大模型:Demo 能跑不等于能上线