go work工作区 - Fri, Apr 1, 2022
go work工作区
go 1.18支持工作区,能够将单个git库下,多个模块纳入代码管理
通过go.work文件指定模块的相对路径,如果没有go.work文件,会被认为是单模块项目。 当多个模块在单模块项目中时,VSCode会报错,提示各种依赖找不到。
示例:
以下库中包含模块: apiserver,core/user, core/log, core/db 同时可以开启全局的替换,在单个模块中不需要单独设置替换。
.
├── apiserver
│ │ ├── go.mod
│ │ └── go.sum
├── core
│ ├── user
│ │ ├── go.mod
│ │ └── go.sum
│ ├── log
│ │ ├── go.mod
│ │ └── go.sum
│ └── db
│ │ ├── go.mod
│ │ └── go.sum
├── go.work.sum
└── go.work
go 1.18
use (
./apiserver
./core/user
./core/log
./core/db
)
replace (
example.com/test/core/user v0.2.9 => ./core/user
example.com/test/core/log v0.2.9 => ./core/log
example.com/test/core/db v0.2.9 => ./core/db
)