GoLang naming rules and conventions
GO命名规范
Go中命名规范主要分为两种:
- 标识符: 函数名, 常量, 变量等
- 其他: 模块, 文件
标识符命名为应当严格遵行规范, 因为会影响到标识符的作为域.
非标识符命名在无强规范, 但有一些指导规范和常用习俗, 沿用此类方式可增强程序的鲁棒性, 避免出现兼容问题.
项 | 分类 | 规则 | 规范 | 样例 | 规范强度 | 参考 |
---|---|---|---|---|---|---|
文件名 | 非标识符 | 全小写 .标点_下划线开头会被忽略 _test结尾会被认为是测试文件 |
全小写 尽可能简短 必要时使用_下划线分隔. |
main.go config.go http_get.go userxxxx_model.go |
弱 | https://medium.com/@kdnotes/golang-naming-rules-and-conventions-8efeecd23b68 https://github.com/golang/go/issues/36060 |
包名 | 非标识符 | 全小写 | 全小写 尽可能简短 尽可能不使用分隔符或下划线 |
util dateparse jsonparser useragent fastconv |
弱 | https://pkg.go.dev/ |
函数名 | 标识符 | 大写开头作用域为整个程序. 小写开头作用域为包内. |
外部调用: 大驼峰 仅内部使用 小驼峰 |
内: getFullPath writeDB 外: GetFullPath WriteDB DBWriter |
强 | https://go.dev/doc/effective_go#mixed-caps |
常量 | 标识符 | 单词以大写开头. | 内: DBName UserNname MyURL |
强 | https://www.cnblogs.com/rickiyang/p/11074174.html | |
变量 | 标识符 | 大写开头作用域为整个程序. 小写开头作用域为包内. |
外部调用: 大驼峰 仅内部使用 小驼峰 |
内: dbName userName myURL 外: UserName UserID MyURL |
强 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示