IT评测·应用市场-qidao123.com

标题: 【go语言】2.4.3 Go Modules [打印本页]

作者: 拉不拉稀肚拉稀    时间: 2023-7-31 10:51
标题: 【go语言】2.4.3 Go Modules
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


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




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4