#go语言项目约定 1、如果在函数内部出现错误,需记录该错误,然后抛出错误,直至回退到函数最外层进行处理。(对于项目初始化的函数,还需调用panic结束协程) 2、对于包内逻辑独立完整的类型,才需建立子包单独存放;对于其他情况,请在同一级包内进行处理。(注意:包与文件夹概念不同,轻易建立子包会造成数据与接口的暴露) 3、对于变量,一律以小写开头;如果该变量需要对包外提供,提供Get,Set接口进行数据访问。 4、对于常量,如果该常量仅包内可见,前缀小写(con_);如果包外可见,前缀大写(Con_)。 5、对于自定义类型,如果仅包内可见,小写开头;如果包外可见,大写开头。类型内部字段名默认小写开头,需要序列化的字段大写。 6、对于通道(chan),如果仅包内可见,小写开头;如果包外可见,大写开头,此处不提供接口访问。 7、在函数参数中出现的变量若与包内数据同名,统一以_开头加以区分。 8、对于需要向包外提供的数据,如果不需要修改,统一返回副本,如果需要在包外修改,请返回指针。