标签:格式化 test erro inf 不同 区分 amp 相关 锻炼
大部分的格式问题可以通过 gofmt 来解决,gofmt 自动格式化代码,保证所有的 go 代码与官方推荐的格式保持一致,所有格式有关问题,都以gofmt的结果为准。所以,建议在提交代码库之前先运行一下这个命令。
一行最长不超过80个字符,超过的使用换行展示,尽量保持格式优雅。
在编码阶段应该同步写好 变量、函数、包 的注释,最后可以利用 godoc 命令导出文档。注释必须是完整的句子,句子的结尾应该用句号作为结尾(英文句号)。注释推荐用英文,可以在写代码过程中锻炼英文的阅读和书写能力。而且用英文不会出现各种编码的问题。
每个包都应该有一个包注释,一个位于 package 子句之前的块注释或行注释。包如果有多个 go 文件,只需要出现在一个 go 文件中即可。
// ping包实现了常用的ping相关的函数 package ping
type Reader interface { Read(p []byte) (n int, err error) } // 多个函数接口 type WriteFlusher interface { Write([]byte) (int, error) Flush() error }
常量均需使用全部大写字母组成,并使用下划线分词:
const APP_VER = "1.0"
如果是枚举类型的常量,需要先创建相应类型:
type Scheme string const ( HTTP Scheme = "http" HTTPS Scheme = "https"
)
变量命名基本上遵循相应的英文表达或简写,在相对简单的环境(对象数量少、针对性强)中,可以将一些名称由完整单词简写为单个字母,例如:
var isExist bool var hasConflict bool var canManage bool var allowGitHook bool
变量名称一般遵循驼峰法,但遇到特有名词时,需要遵循以下规则:
下面列举了一些常见的特有名词:
"API","ASCII","CPU","CSS","DNS","EOF",GUID","HTML","HTTP","HTTPS","ID","IP","JSON","LHS","QPS","RAM","RHS" "RPC", "SLA","SMTP","SSH","TLS","TTL","UI","UID","UUID","URI","URL", "UTF8","VM","XML","XSRF","XSS"
struct申明和初始化格式采用多行,定义如下:
type User struct{ Username string Email string }
初始化如下:
u := User{ Username: "test", Email: "test@gmail.com", }
尽量不要使用panic,除非你知道你在做什么
对 import 的包进行分组管理,用换行符分割,而且标准库作为分组的第一组。如果你的包引入了三种类型的包,标准库包,程序内部包,第三方包,建议采用如下方式进行组织你的包
package main import ( "fmt" "os" "kmg/a" "kmg/b" "code.google.com/a" "github.com/b" )
goimports 会自动帮你格式化
单元测试文件名命名规范:
example_test.go
测试用例的函数名称必须以 Test 开头,例如:
func TestExample
标签:格式化 test erro inf 不同 区分 amp 相关 锻炼
原文地址:http://www.cnblogs.com/liang1101/p/7719762.html