### 一、包名 **使用小写字母:** 包名应该使用小写字母,不要使用下划线或混合大小写。 ```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() {} ```