ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-08-02 17:00:00  阅读:163  来源: 互联网

标签:GO111MODULE 项目 module 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的。

标签:GO111MODULE,项目,module,golang,使用,go,mod
来源: https://blog.csdn.net/qq_42428613/article/details/119327441

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有