温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Go基础命名规范有哪些

发布时间:2021-12-20 14:41:18 来源:亿速云 阅读:104 作者:iii 栏目:大数据

这篇文章主要讲解了“Go基础命名规范有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go基础命名规范有哪些”吧!

基本规则

Go约定使用MixedCaps或者mixedCaps的形式,而不是下划线来书写多个单词的名字。

工程名称

  1. 项目名(仓库名)的命名可以使用字母、数字。

  2. 多个单词建议采用中划线分隔,目前github中大多数项目都是使用用中划线,不建议采用驼峰式分隔,不要使用下划线(kubernetes中的组件名称不允许使用下划线)

  3. 命名可以是对项目功能的描述;也可以是一个代号(如神话人物的名字,或者希腊语),适合采用代号的项目有两种,一种是公司的基础组件或者开源项目,一般这种项目都有详细的文档,

  4. 项目名(仓库名)要尽量避免重复,如果可能重复要添加必要的前缀或者后缀做区分。

  5. 命名尽量在三个单词以内。

正确:

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)}

变量命名

和结构体类似,变量名称一般遵循驼峰法,首字母根据访问控制原则大写或者小写,但遇到特有名词时,需要遵循以下规则:

  1. 如果变量为私有,且特有名词为首个单词,则使用小写,如 appService

  2. 若变量类型为 bool 类型,则名称应以 Has, Is, Can 或 Allow 开头

  3. 作用域越小,命名应该越简短。如在for循环内部用i表示index。

常量命名

常量均需使用全部大写字母组成,并使用下划线分词

如果是枚举类型的常量,需要先创建相应类型:

错误处理

  • 错误处理的原则就是不能丢弃任何有返回err的调用,不要使用 _ 丢弃,必须全部处理。接收到错误,要么返回err,或者使用log记录下来

  • 尽早return:一旦有错误发生,马上返回

  • 尽量不要使用panic,除非你知道你在做什么

  • 错误描述如果是英文必须为小写,不需要标点结尾

  • 采用独立的错误流进行处理

单元测试

单元测试文件名命名规范为 example_test.go 测试用例的函数名称必须以 Test 开头,例如:TestExample 每个重要的函数都要首先编写测试用例,测试用例和正规代码一起提交方便进行回归测试 。

感谢各位的阅读,以上就是“Go基础命名规范有哪些”的内容了,经过本文的学习后,相信大家对Go基础命名规范有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

go
AI