计算机学习

您现在的位置是:首页 > go > 正文

go

go mod的使用

hhb2022-03-27go174
一、启用gomodgo env -w GO111MODULE=on #开启 MODULEgo env -w GOP

一、启用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

1648394021(1).png

    执行命令: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)

}

1648394273(1).png

注意点

如上图所示,发现导入的包是红色。

import(

   "github.com/satori/go.uuid"

)

我们只需在goland开启go modules。打开File->Setting->Go->Go Modules,把 Enable Go modules integration 勾上就行

1648394518(1).png

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~