Golang 编程规范 2021.5.17 2024.8.25 滴水穿石 369 1 分钟 目录目录结构命名规范Interface规范Struct规范注释规范接收器参考Golang 编程规范目录结构 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <GO_PROJECT>/ |--pkg/ # 公有代码目录,其他的项目可以直接通过 import 引入这里的代码 |--internel/ # 私有代码目录,在其他项目引入包含 internal 的依赖时,Go 语言会在编译时报错 | |--app/ # | \--pkg/ # |--cmd/ # 可执行组件目录,该目录下的每一个子目录都应该包含我们希望有的可执行文件 | |--mod1/ # 不应该在 /cmd 目录中放置太多的代码,应该将公有代码放置到 /pkg 中, | \--mod2/ # 将私有代码放置到 /internal 中并在 /cmd 中引入这些包,保证 main 函数中的代码尽可能简单和少。 |--api/ # 对外提供的各种不同类型的 API 接口 | |--api1 |--scripts/ |--Makefile |--go.mod |--README.md pkginternelcmd命名规范Interface规范使用值类型进行接口参数传递接口实现使用值类型接收器1 Struct规范注释规范bug注释1 2 // BUG(astaxie):This divides by zero. var i float = 1/0 接收器带mutex的struct必须是指针receivers参考Uber Go语言编码规范 | Tony BaiGo编码规范指南 - Go语言中文网 - Golang中文社区作者:Justice链接:https://justice.bj.cn/post/14.language/golang/golang编程规范/许可:CC BY-NC-SA 4.0