go mod的使用
一、启用go mod
go env -w GO111MODULE=on #开启 MODULE go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct #默认值为https://proxy.golang.org,direct
GO111MODULE可以设置为:off、on、auto(默认值),从GO111MODULE变量名可以看出,是Go1.11版本之后才出来有依赖包管理办法。
为off时,则不使用go mod,查找依赖包的顺序是:当前项目根目录/vendor,其次是$GOPATH/src(这是Golang1.11版本之前的用法)。
为on时,则开启go mod,查找依赖包是以当前项目根目录的go.mod文件为基准,会忽略 $GOPATH 和 vendor 文件夹,只根据go.mod下载依赖。
为auto或未设置,则go命令根据当前目录启用或禁用模块支持。仅当当前目录位于$GOPATH/src之外且其本身包含go.mod文件或位于包含go.mod文件的目录下时,才启用模块支持。
GOPROXY为依赖包代理地址,由于像golang.org/x这种依赖包需要FQ才能下载,所以建议设置成国内镜像地址:
https://goproxy.cn 为国内七牛云维护的GO的镜像地址。
https://goproxy.io 为国内另一个镜像地址
二、初始化go.mod
设置GOPATH路径
set GOPATH=D:\D\go-xiangmu
在GOPATH/src 下执行(任意目录下执行go mod init 命令都行,不一定要在GOPATH下)
go mod init [模块名] go get github.com/satori/go.uuid
执行命令:go mod init 后,会在GOPATH/src下生成go.mod文件夹。
执行命令:go get github.com/satori/go.uuid 后,在GOPATH/pkg下就会出现刚才要下载的uuid包
在GOPATH,任一文件使用uuid包
package main import( "github.com/satori/go.uuid" ) import "fmt" func main() { fmt.Print("ok") ul:= uuid.NewV4() fmt.Println(ul) }
注意点
如上图所示,发现导入的包是红色。
import(
"github.com/satori/go.uuid"
)
我们只需在goland开启go modules。打开File->Setting->Go->Go Modules,把 Enable Go modules integration 勾上就行
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~