Go Modules

1. Go Modules

1.1. 如何使用临时的 Go Modules(GO111MODULE)

export GO111MODULE=on
go mod init xxx
go mod tidy
go mod vendor

env GOOS="windows" GOARCH="amd64" CGO_ENABLED="1" CC="x86_64-w64-mingw32-gcc" go build

1.2. Go modules 命令

命令作用
go mod init生成 go.mod 文件
go mod download下载 go.mod 文件中指明的所有依赖
go mod tidy整理现有的依赖
go mod graph查看现有的依赖结构
go mod edit编辑 go.mod 文件
go mod vendor导出项目所有的依赖到 vendor 目录
go mod verify校验一个模块是否被篡改过
go mod why查看为什么需要依赖某模块

1.3. 启用/关闭 Go modules

永久:

go env -w GO111MODULE=on 打开
go env -w GO111MODULE=off 关闭

临时:

export GO111MODULE=on
export GO111MODULE=off

1.4. mod 内容语法

1.4.1. replace

replace github.com/charleswan/tool_trace => ./
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Go modules是Go语言的包管理工具,用于管理和版本控制项目的依赖关系。通过使用Go modules,可以更方便地管理项目的依赖包,并确保项目在不同环境中的一致性。 在使用Go modules之前,需要先进行初始化。可以使用命令"go mod init"来初始化一个新的Go模块。例如,使用命令"go mod init github.com/eddycjy/module-repo"可以初始化一个名为"github.com/eddycjy/module-repo"的模块。\[1\] 在使用Go modules时,可以通过导入路径来引入依赖包。不同版本的导入路径可能会有所不同。可以通过比较主模块和子模块的拉取过程来了解这一点。子模块的拉取会多出一步,它会先发现子模块的导入路径,然后继续推算,最终拉取到相应的模块。\[2\] 在一个项目中,可以存在多个模块。Go modules使用特定的目录结构来组织这些模块。通常,每个模块都有一个独立的go.mod文件,用于管理该模块的依赖关系。例如,一个项目中的目录结构可以是这样的: mquote ├── go.mod ├── module │ └── tour │ ├── go.mod │ └── tour.go └── quote.go 其中,每个模块都有自己的go.mod文件,用于管理该模块的依赖关系。\[3\] 总之,Go modules是Go语言的包管理工具,可以帮助开发者更方便地管理项目的依赖关系。通过初始化模块、导入依赖包和组织模块的目录结构,可以有效地管理和控制项目的依赖关系。 #### 引用[.reference_title] - *1* *2* *3* [Go Modules详解](https://blog.csdn.net/u011069013/article/details/110114319)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云满笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值