Update go.md
This commit is contained in:
parent
bc59aba485
commit
237bcb0e3e
10
go.md
10
go.md
@ -23,18 +23,18 @@
|
|||||||
|
|
||||||
## 命名
|
## 命名
|
||||||
文件和目录命名一律采用小写,不用驼峰式,尽量见名思义,看见文件名就可以知道这个文件下的大概内容。尽量和标准库不要冲突。
|
文件和目录命名一律采用小写,不用驼峰式,尽量见名思义,看见文件名就可以知道这个文件下的大概内容。尽量和标准库不要冲突。
|
||||||
其中测试文件以_test.go结尾,除测试文件外,命名不出现。
|
其中测试文件以_test.go结尾,除测试文件外,命名`不出现下划线`。
|
||||||
|
|
||||||
例子:
|
例子:
|
||||||
|
|
||||||
stringutil.go, stringutil_test.go
|
stringutil.go, stringutil_test.go
|
||||||
|
|
||||||
## 包名package
|
## 包名package
|
||||||
包名用小写,使用短命名,尽量和标准库不要冲突。
|
包名用全小写,使用短命名,尽量和标准库不要冲突。
|
||||||
包名统一使用单数形式。
|
包名统一使用单数形式。
|
||||||
|
|
||||||
## 变量
|
## 变量
|
||||||
变量命名一般采用驼峰式,当遇到特有名词(缩写或简称,如DNS)的时候,特有名词根据是否私有全部大写或小写。
|
变量命名一般采用驼峰式,当遇到特有名词(缩写或简称,如DNS)的时候,特有名词根据是否私有全部大写或小写, `不使用下划线`。
|
||||||
|
|
||||||
例子:
|
例子:
|
||||||
|
|
||||||
@ -65,11 +65,11 @@ type Car interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
## 结构体
|
## 结构体
|
||||||
结构体名应该是名词或名词短语,如Account,Book,避免使用Manager这样的。
|
结构体名应该是名词或名词短语,`不使用下划线`,如Account,Book,避免使用Manager这样的。
|
||||||
如果该数据结构需要序列化,如json, 则首字母大写, 包括里面的字段。
|
如果该数据结构需要序列化,如json, 则首字母大写, 包括里面的字段。
|
||||||
|
|
||||||
## 方法
|
## 方法
|
||||||
方法名应该是动词或动词短语,采用驼峰式。将功能及必要的参数体现在名字中, 不要嫌长, 如updateById,getUserInfo.
|
方法名应该是动词或动词短语,采用驼峰式, `不使用下划线`。将功能及必要的参数体现在名字中, 不要嫌长, 如updateById,getUserInfo.
|
||||||
|
|
||||||
如果是结构体方法,那么 Receiver 的名称使用缩写,一般使用结构体名的首字母或前两个字母(小写)作为 Receiver 的名称。 如:
|
如果是结构体方法,那么 Receiver 的名称使用缩写,一般使用结构体名的首字母或前两个字母(小写)作为 Receiver 的名称。 如:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user