Go/Gin Gower Workspace 工作目录, 是基于 Go 语言的 Workspace 与 GOPATH 相结合实现的工作区模式.
Go Workspace 工作区
go.work
文件是 Go 1.18 版本引入的一个新特性, 用于管理多个模块(module)的工作区. 它允许你在一个工作区内同时开发和测试多个模块, 而不需要将这些模块作为依赖项添加到每个模块的 go.mod
文件中.
工作区的概念
- 工作区: 一个包含多个 Go 模块的目录.
go.work
文件: 定义了工作区的配置文件, 指定了哪些模块属于这个工作区.
go.work
文件结构
go 1.18
use (
./src/module1
./src/module2
)
go 1.18
: 指定 Go 的版本.use
: 列出工作区中包含的模块路径.
创建 go.work
文件
-
使用命令
go work init
可以创建一个新的go.work
文件, 并指定初始模块.$ go work init
-
这将生成一个
go.work
文件.
添加和删除模块
- 添加模块: 使用
go work use
命令将新的模块添加到go.work
文件中.$ go work use src/module1
注意: 添加之前,
src/module1
项目中, 已经存在 go.mod 文件
- 删除模块: 使用
go work remove
命令从go.work
文件中移除模块.$ go work remove src/module1
GOPATH
GOPATH
是 Go 语言中的一个重要环境变量, 用于指定 Go 项目的默认工作目录. 它主要用于管理 Go 代码的组织/构建和依赖关系. 以下是关于 GOPATH
的详细说明:
1. GOPATH 的概念
- GOPATH: 是一个环境变量, 指定了 Go 项目的默认工作目录.
- 工作目录: 在这个目录下, Go 会查找和管理源代码/二进制文件和包对象.
2. GOPATH 的结构
GOPATH
目录通常包含三个子目录:
src
: 存放源代码文件.pkg
: 存放三方依赖包的目录.bin
: 存放编译后的可执行文件.
3. 设置 GOPATH
在 GoLand 中, 你可以在 Settings
-> Go
-> GOPATH
中设置项目级别的 GOPATH
.
联合使用
当 Workspace 和 GOPATH 可以一起使用时, go mod tidy
会下载依赖包到 pkg/mod
目录下. go install
默认会将运行文件安装在 bin
目录下.