【go语言】2.4.3 Go Modules

打印 上一主题 下一主题

主题 974|帖子 974|积分 2924

Go Modules 是 Go 语言的官方依赖管理工具,自 Go 1.11 版本开始引入。它解决了 Go 语言在依赖管理上的一些问题,如版本控制、依赖隔离等。
初始化一个新的模块

你可以使用 go mod init [module-path] 命令来初始化一个新的模块。这将创建一个 go.mod 文件。
例如,在一个空目录下运行 go mod init github.com/yourusername/myproject:
  1. mkdir myproject
  2. cd myproject
  3. go mod init github.com/yourusername/myproject
复制代码
这将创建一个 go.mod 文件,内容如下:
  1. module github.com/yourusername/myproject
  2. go 1.16
复制代码
这里的 module 行声明了模块路径,go 行声明了 Go 语言的版本。
添加依赖

当你在代码中导入一个新的包并运行 go build, go test 或其他一些命令时,Go 会自动查找并添加所需的依赖。
例如,在 main.go 中导入并使用 rsc.io/quote 包:
  1. package main
  2. import (
  3.         "fmt"
  4.         "rsc.io/quote"
  5. )
  6. func main() {
  7.         fmt.Println(quote.Hello())
  8. }
复制代码
然后运行 go build,Go 将会自动下载所需的 rsc.io/quote 包,并更新 go.mod 和 go.sum 文件。
现在 go.mod 文件看起来可能像这样:
  1. module github.com/yourusername/myproject
  2. go 1.16require rsc.io/quote v1.5.2
复制代码
这里的 require 行声明了你的项目依赖的其他模块及其版本。
更新依赖

你可以使用 go get 命令来手动添加、更新或移除依赖。例如,要更新到 rsc.io/quote 的最新版本,你可以运行:
  1. go get rsc.io/quote@latest
复制代码
要移除一个依赖,你可以直接从 go.mod 文件中删除对应的 require 行,然后运行 go mod tidy。
依赖隔离

每个 Go Modules 项目都有自己的依赖,这些依赖被存储在项目路径外的一个文件夹中($GOPATH/pkg/mod),每个项目都不会影响到其他项目,实现了依赖的隔离。
总的来说,Go Modules 是 Go 语言的官方依赖管理工具,它提供了一种便捷的方式来管理你的 Go 项目的依赖。理解和熟练使用 Go Modules 是提高 Go 语言开发效率的关键。
推荐阅读:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

拉不拉稀肚拉稀

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表