成都创新互联网站制作重庆分公司

Go基础命名规范有哪些

这篇文章主要讲解了“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基础命名规范有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网页标题:Go基础命名规范有哪些
本文地址:http://cxhlcq.com/article/ghscgj.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部