// fn意图
// @param p1 - 第一个参数(p1含义)
// @param p2 - 第二个参数(p2含义)
// @return r1(or TYPE) - 第一个返回值(如果函数返回值没有定义名称标注类型)
// @return r2(or TYPE) - 第二个返回值
func fn(p1 TYPE,p2 TYPE)(r1 TYPE, r2 TYPE){
...
}
import (
标准包
程序内部包
第三方包
)
import (
"flag"
"net/http"
"common"
"common/xxxx"
l4g "github.com/log4go"
)
- 全局const 和 var位置
- 全局const,var变量放在文件最上面(import下面)或者保存在单独的const和var文件中。
- 命名
- 禁止程序中使用缩写或者有歧义的名称。
- 采用驼峰式命名。
形参
和局部变量
采用驼峰结构命名,首字母必须小写,不得出现下划线。常量
统一采用大写字母,单词之间使用下划线进行分隔。如果是包可见的常量,可在其名字前加上 “k_” 作为前缀。可导出常量与不可导出常量应该分开声明,不得出现在同一常量声明块内。 例如:
// 常量命名方式
const (
k_CONST_A = 1
)
const (
CONST_A = 1
)
- Slice初始化
- 已知slice长度,使用make([]type, len)。
- 已知slice容量,使用make([]type, 0, cap)。
- 直接使用字面值形式[]type{A,B,C}声明和赋值,取消没必要的append操作。
- Set类型
- 使用map[Type]struct{}表示set类型。