go语言编码规范

一、命名规范
1.包名:package
保持package的名字与目录保持一致,尽量采取有意义的包名,简短。包名应为小写单词,不要使用下划线或者混合大小写。
如: package calc

2.文件名
采用有意义的文件名,简短,应为小写,使用下划线分隔各个单词
如: user_model.go

3.结构体命名
采用驼峰命名法,首字母根据访问控制大写或小写
如:struct User struct {
UserName string
}

4.接口命名
规则和结构体命名差不多,单个函数的机构名以“er”作为后缀
如:Reader,Writer

5.变量命名
①一般遵循驼峰命名,首字母根据访问权限设置大写或小写
②存在一些特殊的情况,如:APIClient,UserID
③若变量为bool类型,则名称应以Has,Is,Can,Allow开头
如: var isExist bool
var hasConflict bool
var canManage bool
var allowGitHook bool

6.常量命名
常量均需使用全部大写字母组成,并使用下划线分词
如:const APP_VER = “1.0”
const PI = 3.1415926

7.注释
行注释://
块注释:/*

*/
包注释:每个包都应该有一个包注释,包注释应包含下面基本信息(请严格按照这个顺序,简介,创建人,创建时间)
//util包,改包包含了项目共用的一些常量
//创建人: zzy
//创建时间:20211102

函数注释:每个函数都应该注释说明,注释应包含下面基本信息(请严格按照这个顺序,简介,创建人,创建时间)
//add,返回两个值得和
//参数:
a : 值1
b : 值2
//返回值
c

8.注释风格
①统一使用中文注释
②建议全部使用单行注释
③当行注释不宜过长,不超过120个字符

9.包的导入
包分三类:go自带的包,第三方的包(go get 下载的),程序内部包(自己写的包)
如果包引入了三种类型的包,标准库包,程序内部包,第三方包,建议采用如下方式进行组织,不同类型的包直接有空行隔开。
import(
“encoding/json”
“strings”

"myproject/models"
"myproject/controller"
"myproject/utils"

"gihub.com/astaxie/beego"
"github.com/go-sql-driver/mysql"

)

10.错误处理
①不能丢弃任何有返回err的调用,不要使用_丢弃,必须全部处理。接收到错误,要么返回err,要么使用log记录下来
②尽早return:一旦有错误发生,马上返回
③尽量不要使用panic,除非你知道你在做什么
④错误描述如果是英文必须为小写,不需要标点结尾
⑤用独立的错误流进行处理
//错误写法
if err != nil{
//error handling
}else {
//normal code
}

//正确写法
if err != nil {
// error handing
return // or continue
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值