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

为什么我会用go mod

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

go module相关配置

GO111MODULE

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

  1. GO111MODULE=off禁用模块支持,编译时会从GOPATH和vendor文件夹中查找包。
  2. GO111MODULE=on启用模块支持,编译时会忽略GOPATH和vendor文件夹,只根据 go.mod下载依赖。
  3. 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的。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值