关于golang中go mod的使用,以及自己的一些心得

关于golang中go mod的使用,以及自己的一些心得,第1张

这里写自定义目录标题 为什么我会用go modgo module相关配置GO111MODULE 我遇到的问题1.go mod如何使用。2.当多个mod的时候,应该选择使用哪个mod

为什么我会用go mod

我最开始接触go mod是为了导包,我使用的编辑器是vscode,在刚开始集成环境的时候,通过go env -w GO111MODULE=on直接就将环境变量给修改了,以至于后面再使用gopath路径进行导包的时候失败,
一直报这个错误

就是直接就不找gopath,直接找的goroot
原因如下:

go module相关配置 GO111MODULE

要启用go module支持首先要设置环境变量GO111MODULE,通过它可以开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是auto。

GO111MODULE=off禁用模块支持,编译时会从GOPATH和vendor文件夹中查找包。GO111MODULE=on启用模块支持,编译时会忽略GOPATH和vendor文件夹,只根据 go.mod下载依赖。GO111MODULE=auto,当项目在$GOPATH/src外且项目根目录有go.mod文件时,开启模块支持。

简单来说,设置GO111MODULE=on之后就可以使用go module了,以后就没有必要在GOPATH中创建项目了,并且还能够很好的管理项目依赖的第三方包信息。

使用 go module 管理依赖后会在项目根目录下生成两个文件go.mod和go.sum。
修改的话直接在终端

go env -w GO111MODULE=on

输入这些就好了。
这些东西应该用哪个已经很清楚了,然后的话就是在gomod中一些需要注意的东西,

我遇到的问题 1.go mod如何使用。

首先,我么想导包,需要在我们的项目下 go mod init “项目名”

go mod init “项目名”

在项目下会生成一个go。mod文件
这是我们编辑一个简单的调用内容
这个是被调用的,我们定义一个Age全局变量,这个Age的A必须大写,这样才能被其他包调用

这个是调用者,

这里运行之后的结果为

2.当多个mod的时候,应该选择使用哪个mod

一般出现需要选择的时候应该都是嵌套使用,这里如果说你的项目已经go mod init了,再在外面有一个mod,这时候,是直接选择使用里面的mod的。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/989668.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存