这篇文章主要讲解了“Go基础命名规范有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go基础命名规范有哪些”吧!
公司主营业务:成都网站建设、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出晋城免费做网站回馈大家。
基本规则
Go约定使用MixedCaps或者mixedCaps的形式,而不是下划线来书写多个单词的名字。
工程名称
项目名(仓库名)的命名可以使用字母、数字。
多个单词建议采用中划线分隔,目前github中大多数项目都是使用用中划线,不建议采用驼峰式分隔,不要使用下划线(kubernetes中的组件名称不允许使用下划线)
命名可以是对项目功能的描述;也可以是一个代号(如神话人物的名字,或者希腊语),适合采用代号的项目有两种,一种是公司的基础组件或者开源项目,一般这种项目都有详细的文档,
项目名(仓库名)要尽量避免重复,如果可能重复要添加必要的前缀或者后缀做区分。
命名尽量在三个单词以内。
正确:
user、user-api、user-service,product、product-search、redis-go,druid、zeus、kubernetes.
错误:
user_api、Product
包名称
保持package的名字和目录保持一致,同一个文件夹所有源文件中的包名必须一致。
包名应该为小写单词,不要使用下划线或者混合大小写。
package domainpackage main
文件命名
尽量采取有意义的文件名,简短,有意义,应该为小写单词,使用下划线分隔各个单词。
approve_service.go
结构体命名
采用驼峰命名法,首字母根据访问控制大写或者小写
struct 申明和初始化格式采用多行,例如下面:
type MainConfig struct { Port string `json:"port"` Address string `json:"address"`}config := MainConfig{"1234", "123.221.134"}
接口命名
命名规则基本和上面的结构体类型
单个函数的结构名以 “er” 作为后缀,例如 Reader , Writer 。
type Reader interface { Read(p []byte) (n int, err error)}
变量命名
和结构体类似,变量名称一般遵循驼峰法,首字母根据访问控制原则大写或者小写,但遇到特有名词时,需要遵循以下规则:
如果变量为私有,且特有名词为首个单词,则使用小写,如 appService
若变量类型为 bool 类型,则名称应以 Has, Is, Can 或 Allow 开头
作用域越小,命名应该越简短。如在for循环内部用i表示index。
常量命名
常量均需使用全部大写字母组成,并使用下划线分词
如果是枚举类型的常量,需要先创建相应类型:
错误处理
错误处理的原则就是不能丢弃任何有返回err的调用,不要使用 _ 丢弃,必须全部处理。接收到错误,要么返回err,或者使用log记录下来
尽早return:一旦有错误发生,马上返回
尽量不要使用panic,除非你知道你在做什么
错误描述如果是英文必须为小写,不需要标点结尾
采用独立的错误流进行处理
单元测试
单元测试文件名命名规范为 example_test.go 测试用例的函数名称必须以 Test 开头,例如:TestExample 每个重要的函数都要首先编写测试用例,测试用例和正规代码一起提交方便进行回归测试 。
感谢各位的阅读,以上就是“Go基础命名规范有哪些”的内容了,经过本文的学习后,相信大家对Go基础命名规范有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
文章名称:Go基础命名规范有哪些
转载注明:http://lswzjz.com/article/ghscgj.html