配置gopath主要是方便管理exe、依赖库,src源码,不配置默认也可以。
GO环境中GOPATH是干啥的?
GOPATH
是 Go 语言的工作区,用于存储 Go 的源代码、依赖包和编译后的可执行文件。它包含三个主要目录:src
、pkg
和 bin
,每个目录在 Go 的开发过程中都有特定的作用。
1. src
目录
-
作用:
src
目录用于存储 Go 项目的源代码。 -
详细说明
:
- 所有的 Go 源文件(包括你编写的项目和第三方库)都会存放在
src
目录下。 - 项目的源代码通常组织为类似于
src/github.com/username/project
这样的结构。 - 你编写的所有 Go 文件都会放在这个目录中进行开发和管理。
- 所有的 Go 源文件(包括你编写的项目和第三方库)都会存放在
使用示例
$GOPATH/src/github.com/yourname/yourproject/main.go
当你使用 go get
下载一个包时,包的源代码会放在 src
目录下:
$GOPATH/src/github.com/gin-gonic/gin
2. pkg
目录
-
作用:
pkg
目录用于存储 Go 包的 编译结果,特别是下载的依赖包的编译缓存文件。 -
详细说明
:
- 当你运行
go build
或go install
时,Go 会将编译后的.a
文件(编译的二进制文件)存储在pkg
目录中,以便复用和加快后续的编译。 - 它根据不同的操作系统、架构和包的路径组织这些编译文件。例如,
$GOPATH/pkg/darwin_amd64/github.com/gin-gonic/gin.a
表示在 macOS 系统上的编译产物。
- 当你运行
使用场景
当你运行以下命令时:
go get github.com/gin-gonic/gin
Go 会在 $GOPATH/src
中下载源代码,并在 $GOPATH/pkg
中存储编译后的 .a
文件以供后续复用。
3. bin
目录
-
作用:
bin
目录用于存储通过go install
命令生成的 可执行文件。 -
详细说明
:
- 当你运行
go install
,Go 会将编译后的可执行文件存放到bin
目录中,方便你在命令行中直接运行这些二进制文件。 - 对于第三方命令行工具,Go 也会把它们的可执行文件放入
bin
目录。例如,安装一个 Go 工具后,你可以在终端中直接运行该工具,而无需指定完整路径。
- 当你运行
使用示例
$GOPATH/bin/myapp
如果你将 $GOPATH/bin
添加到系统的 PATH
环境变量中,你就可以直接在命令行中使用这些工具:
export PATH=$PATH:$GOPATH/bin
总结
src
: 存放源代码,包含你编写的项目和下载的依赖包的源文件。pkg
: 存放依赖包的编译缓存(.a
文件),加快编译速度。bin
: 存放编译后的可执行文件(通过go install
生成)。
在模块化(Go Modules
)的模式下,GOPATH
的重要性有所减弱,但仍然可以用来存放 Go 代码库和工具。