kaisawind's blog
  • 关于
  • 所有帖子

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
)


辽ICP备2021007608号 | © 2025 | kaisawind

Facebook Twitter GitHub

▄