Go语言mod使用
1.go版本限制
- go版本必须>=1.11
2.配置go mod
和go proxy
- windows
go env -w GOBIN="go语言安装的位置下的bin目录"
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
- linux
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
3.goland设置
- 配置
Go Modules(vgo)
GOPATH
不需要配置
4.go mod
命令
- 比较常用的是 init,tidy, edit
go mod init
创建一个新模块, 并初始化描述它的 go.mod 文件。go build、go test
和其他包构建命令根据 go.mod 文件需要添加新的依赖项。go list -m all
打印当前模块的所有依赖项列表。go get
更新依赖项所需的版本(或添加新的依赖项)和python中的pip install
类似。go mod tidy
扫描项目中的依赖,缺少的自动下载,多余的自动清除。
5.使用go mod管理一个新项目
- 1.创建一个目录,作为项目开发路径(使用
mod
管理项目后,pkg
目录和bin
目录会在GOPATH
路径下)
// GOPATH目录:F:\self_project\golearn
// 创建src目录保存项目源码(可以随意)
F:\self_project\golearn\src
// 创建二级目录dcpuffer(可以随意)
F:\self_project\golearn\src\dcpuffer
- 2.使用
go mod init
初始化项目
// cd F:\self_project\golearn\src
go mod init dcpuffer
初始化完成后,当前目录会出现一个
go.mod
文件
- 3.在当前路径下创建一个
main.go
文件
package main
import (
"fmt"
"rsc.io/quote"
)
func Hello() string {
return quote.Hello()
}
func main() {
fmt.Println(Hello())
}
- 4.使用
go get
拉取项目依赖rsc.io/quote
在拉取项目依赖时,你会发现拉取的过程总共分为了三大步,分别是
finding(发现)、downloading(下载)以及 extracting(提取)
在拉取信息上一共分为了三段内容:
选择具体版本拉取
执行 go run main.go 运行代码会发现 go mod 会自动查找依赖自动下载
go 会自动生成一个 go.sum 文件来记录 dependency tree