GOPATH配置和常规项目组织

来自我的wiki
Horace讨论 | 贡献2022年7月3日 (日) 10:22的版本 (建立内容为“category:Golang ==什么是GOPATH== GOPATH是一个环境变量,用来表明你写的go项目的存放路径 GOPATH路径最好只设置一个,所有的…”的新页面)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

什么是GOPATH

GOPATH是一个环境变量,用来表明你写的go项目的存放路径

GOPATH路径最好只设置一个,所有的项目代码都放到GOPATH的src目录下。

GOPATH常规目录

默认结构

Golang-default-dir.png

在进行Go语言开发的时候,代码总是会保存在$GOPATH/src目录下。在工程经过go build、go install或go get等指令后,会将下载的第三方包源代码文件放在$GOPATH/src目录下, 产生的二进制可执行文件放在 $GOPATH/bin目录下,生成的中间缓存文件会被保存在 $GOPATH/pkg 下。

使用版本管理工具(Version Control System,VCS。常用如Git)来管理项目代码时,只需要添加$GOPATH/src目录的源代码即可。

bin 和 pkg 目录的内容无需版本控制。

流行结构

Golang-popular-dir.png

Go语言中也是通过包来组织代码文件,可以引用别人的包也可以发布自己的包,但是为了防止不同包的项目名冲突,通常使用顶级域名来作为包名的前缀,这样就不担心项目名冲突的问题。

另外可以在 src 目录下建立 internal 目录用来保存内部项目,用来区分和github的源码

企业开发结构

Golang-company-dir.png