You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
2.0 KiB

### 一、包名
**使用小写字母:** 包名应该使用小写字母,不要使用下划线或混合大小写。
```text
// 不推荐
package my_package
// 推荐
package mypackage
```
**避免泛化的名称:** 包名应该具有明确的含义,避免使用过于泛化的名称。
```text
// 不推荐
package util
// 推荐
package fileutil
```
### 二、变量及常量
**使用驼峰命名法:** 变量和函数名使用驼峰命名法,即首个单词小写,后续单词首字母大写。
```text
// 不推荐
var my_variable int
// 推荐
var myVariable int
```
**短小而具有描述性:** 变量名应该既简短又具有描述性,避免使用单字母名称,除非是循环变量。
```text
// 不推荐
var n int
// 推荐
var itemCount int
```
**常量全大写:** 常量名应该全大写,用下划线分隔单词。
```text
// 不推荐
const Pi = 3.14
// 推荐
const PI = 3.14
```
### 三、函数及方法
**使用驼峰命名法:** 函数和方法名同样使用驼峰命名法。
```text
// 不推荐
func calculate_sum() int
// 推荐
func calculateSum() int
```
**使用动词:** 函数名应该使用动词,明确描述函数的操作。
```text
// 不推荐
func data()
// 推荐
func fetchData()
```
### 四、结构体及接口
**使用驼峰命名法:** 结构体和接口名同样应该使用驼峰命名法。
```text
// 不推荐
type employee_data struct {}
// 推荐
type EmployeeData struct {}
```
**避免缩写:** 尽量避免使用缩写,除非是广泛接受的行业标准。
```text
// 不推荐
type HTMLParser interface {}
// 推荐
type HTMLParserInterface interface {}
```
### 五、测试文件
**以 `_test.go` 结尾:** 测试文件应该以 **`_test.go`** 结尾,使其与普通源代码文件区分开。
```text
// 测试文件名
mypackage_test.go
```
**测试函数使用 `Test` 前缀:** 测试函数的命名应以 **`Test`** 为前缀,后面跟被测试的函数名。
```text
// 不推荐
func checkData() {}
// 推荐
func TestCheckData() {}
```