golang学习笔记-go mod的使用

前言

对于多个项目来说,把所有的源码都放在GOPATH下的src目录下非常的不方便。golang给我们提供了一个叫go mod的命令来脱离src目录,方便我们管理go项目。
对于windows用户来说,使用前在机器上必须成功安装了git,因为需要从github上拉取项目依赖的代码。

一、简单使用

1.设置GO111MODULE属性

在cmd中执行set GO111MODULE=on
golang学习笔记-go mod的使用_第1张图片

2.生成mod文件
给我们的项目生成.mod文件,该文件描述项目需要的依赖等
进入我的项目文件夹中,只有一个文件http-server.go
golang学习笔记-go mod的使用_第2张图片
在该目录下执行go mod init生成.mod文件,文件名是生成的.mod文件中第一行的名称,可以为空,为空时默认和文件夹名称一致。执行go mod init test,生成文件:
golang学习笔记-go mod的使用_第3张图片

此时已经成功生成了go.mod文件,但是.mod文件中并没有任何的描述依赖。
3.编译
该环境的go环境变量如下,gopath在c:\code\src下,按照以前的思路,除了gopath和goroot以外的目录是无法编译的,但是我们想在上一步中的目录下直接编译。
golang学习笔记-go mod的使用_第4张图片
进入现有项目目录中,执行go buildgo mod 会自动拉取依赖项,如图:
golang学习笔记-go mod的使用_第5张图片
上面生成的.mod文件中 v1.1.6为版本信息,默认情况下使用的是最新的版本,如果包打过tag,那么就会使用最新的那个tag对应的版本。

4.结论
上步重新在github上拉取了依赖文件到GOPATH的pkg目录下,从此不再必须将源代码放在GOPATH下了。
golang学习笔记-go mod的使用_第6张图片
编译成功,生成了可执行程序。

二、其他

在cmd下,go help mod查看 go mod的命令:
golang学习笔记-go mod的使用_第7张图片
1.代理无法访问的包
golang的准标准库golang.org/x在国内无法直接访问,需要代理才行,我们可以replace到github的目录。
golang学习笔记-go mod的使用_第8张图片
2.编辑mod
go mod edit

你可能感兴趣的:(#,golang)