Open cloudaice opened 9 years ago
ls $GOPATH bin pkg src
在src目录下建立要开发的项目,并进行开发,import包的路径都是基于$GOPATH/src目录下的。
Go的源代码文件命名使用小写字母命名,如果有多个单词,使用下划线连接
包的名字要和目录名字相同,名字尽量简短并且要有意义,多极包之间无需继承上一级包的名字。
包引入使用圆括号包起来,统一使用如下格式
import ( "fmt" )
当引入多种类型的包的时候,使用空行进行分开,我们开发过程中主要会引用到的包类型有
例如
import ( "fmt" // 标准库的包 "server/util" // 项目内部包 "github.com/cloudaice/scribe" // 第三方包 )
不要使用相对路径引入包
var ( MaxConns int64 LimitQps int64 )
提交前使用go fmt 对代码进行格式化,并且使用go tool vet 检查代码是否有容易出bug的地方。
当channel用来当作信号通道使用的时候,channel的类型使用 struct{},而不是bool
函数形参使用小写字母开头,尽量每个参数后面跟这个该参数的类型。
注意数组作为参数的时候,是以拷贝的方式传递的,修改数组的值并不会修改原始值
尽量不要使用命名返回参数,避免写出一些隐含bug的代码,除非你对此非常了解
定义一个对象的方法的时候,避免使用this和self等通用的命名代替方法的接收者。
this
self
声明空的slice的时候,使用如下方法:
var v []string
而不是
v := []string{}
对于可以导出的名称,都需要加上注释,这样在使用godoc的时候,可以清晰地生成文档。
配置$GOPATH环境变量
在src目录下建立要开发的项目,并进行开发,import包的路径都是基于$GOPATH/src目录下的。
源代码文件命名
Go的源代码文件命名使用小写字母命名,如果有多个单词,使用下划线连接
package名字
包的名字要和目录名字相同,名字尽量简短并且要有意义,多极包之间无需继承上一级包的名字。
包引入规范
包引入使用圆括号包起来,统一使用如下格式
当引入多种类型的包的时候,使用空行进行分开,我们开发过程中主要会引用到的包类型有
例如
不要使用相对路径引入包
变量名称采用驼峰命名法,申明一组变量的时候使用如下方式
代码格式
提交前使用go fmt 对代码进行格式化,并且使用go tool vet 检查代码是否有容易出bug的地方。
channel
当channel用来当作信号通道使用的时候,channel的类型使用 struct{},而不是bool
参数
函数形参使用小写字母开头,尽量每个参数后面跟这个该参数的类型。
注意数组作为参数的时候,是以拷贝的方式传递的,修改数组的值并不会修改原始值
尽量不要使用命名返回参数,避免写出一些隐含bug的代码,除非你对此非常了解