Go 语言代码规范
代码风格
大部分格式问题都可以通过 gofmt 解决,gofmt 自动格式化代码,保证所有的go代码与官方推荐的格式保持一致,于是所有格式有关问题,都以gofmt的结果为准。 不同的编辑器有不同的配置, sublime的配置教程:http://michaelwhatcott.com/gosublime-goimports/
- LiteIDE默认已经支持了goimports,如果你的不支持请点击属性配置->golangfmt→勾选goimports保存之前自动fmt你的代码
- 使用 vim 开发请安装插件:https://github.com/fatih/vim-go 或者 coc.nvim + gopls
- 使用 vscode 开发请直接安装里面的 Go 插件:https://github.com/golang/vscode-go
命名规则
Go语言程序 员推荐使用 驼峰式 命名,当名字有几个单词组成的时优先使用大小写分隔,而不是优先用下划线分隔。 因此,在标准库有 QuoteRuneToASCII 和 parseRequestLine 这样的函数命名,但是一般不会用 quote_rune_to_ASCII 和 parse_request_line 这样的命名。 而像ASCII和HTML这样的缩略词则避免使用大小写混合的写法,它们可能被称为htmlEscape、HTMLEscape或escapeHTML,但不会是escapeHtml。
文件名
以kerbab命名法命名,比如:foo_bar.go
包名 (package)
包名与包所在的目录名一致并小写
结构体 (Struct)
优先以 S 开头,私有struct名以小写 s 开头 遵循CamelCase(驼峰)命名法,由有意义的名词组合而成
接口 (Interface)
遵循CamelCase(驼峰)命名法 优先以 I 开头,私有interface名以小写 i 开头 , 比如:IModelManager