编辑
2022-09-27
Golang
00
请注意,本文编写于 786 天前,最后修改于 786 天前,其中某些信息可能已经过时。

目录

工作区
创建工作区
将模块引入工作区
使用本地模块

工作区

工作区允许我们同时处理多个模块,而无需go.mod为每个模块编辑文件。

相关信息

解决依赖关系时,工作空间中的每个模块都被视为根模块,会优先使用。

本篇中,创建一个新的文件夹 workspace 作为示例

bash
# workspace mkdir workspaces && cd workspaces # 创建 modA 模块 mkdir modA && cd modA go mod init modA # 安装一个处理字符串的包 go get golang.org/x/example
go
// 创建 modA/main.go package main import ( "fmt" "golang.org/x/example/stringutil" ) func main() { result := stringutil.Reverse("Hello Workspace") fmt.Println(result) }

运行 main.go

image.png

创建工作区

bash
// 在 workspace 目录下创建工作区 go work init

初始化工作区后,会创建一个 go.work 文件

image.png

将模块引入工作区

bash
// 将 modA 模块加入工作区 go work use ./modA

image.png

使用本地模块

bash
// 将 example 模块下在本地 git clone https://go.googlesource.com/example

image.png

bash
// 将 example 模块添加至工作区 go work use ./example

现在,由于已经有了本地工作区中的 example 模块,工作区中会优先使用该模块,而非下载的模块或包

go
// 修改本地模块中的 example/stringutil/reverse.go package stringutil func Reverse(s string) string { return "已经使用了工作区的模块" }

image.png

这时,再运行 main.go 可以发现已经使用了本地的模块中的功能

image.png

本文作者:Silon汐冷

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!