游戏服务器编程概述 | 游戏编程
规范 - golang
- 函数注释
1 2 3 4 5 6 7 8 | // 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顺序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import ( 标准包 程序内部包 第三方包 ) import ( "flag" "net/http" "common" "common/zebra" l4g "github.com/ivanabc/log4go" ) |
命名
- 禁止程序中使用缩写或者有歧义的名称。
- 采用驼峰式命名。
- 形参,局部变量
1采用驼峰结构命名,首字母必须小写,不得出现下划线。- 常量
常量统一采用大写字母,单词之间使用下划线进行分隔。如果是包可见的常量,可在其名字前加上 “k_” 作为前缀。可导出常量与不可导出常量应该分开声明,不得出现在同一常量声明块内。 例如:
1234567const (k_CONST_A = 1)const (CONST_A = 1)全局const 和 var位置
- 全局const,var变量放在文件最上面(import下面)或者保存在单独的const和var文件中。
slice初始化
- 已知slice长度,使用make([]type, len)。
- 已知slice容量,使用make([]type, 0, cap)。
- 直接使用字面值形式[]type{A,B,C}声明和赋值,取消没必要的append操作。
set类型
- 使用map[Type]struct{}表示set类型。