基于windows10系统的测试
golang版本为1.13.6 (1.13会默认支持go modules包管理,推荐使用)
首先是新建项目:有两种操作
第一种是直接新建go项目。不推荐使用这一种,这种需要自己手动进行go mod init (项目) 还要取消index entire gopath需要操作的步骤太多不推荐使用
第二种创建go modules项目,环境这里需要设置代理。我就省略了已经设置环境变量了
创建成功后会在目录下创建go.mod文件,同时在项目的外部库这里除了加载Go SDK外会额外加载Go modules(如果不适用go modules包管理这里加载的是gopath)
注意这里的go modules是空的
接下来说明如何加载外部库
创建main文件,main文件尝试导入gorm库,会发现这个是标红的,光标放到库名上会浮现 (不能解决 目录 ‘github.com’ )
鼠标浮现到加载不了的库上会出现Sync dependencies of awesomeProject:
点击就会自动同步GOPATH目录下的pkg.mod文件下以前下载的库(会先联网校验!此操作需要联网)
Sync dependencies of awesomeProject: Finished successfully 查看日志出现加载完成会发现项目的
外部库这里已经成功的加载了gorm以及它的依赖
查看go.mod会出现加载成功的gorm版本 go.mod附带一个go.sum属性 里面是依赖 也记录外部库中其他加载的库的版本之类的
注意上面说的方法是在gopath/pkg/mod目录已经存在的库如何加载
按上面的操作 尝试加载一个我未下载的库会出现下载依赖失败的情况
使用go get安装发现成功了, 成功后又可以继续调用了
go get安装的库下载到了gopath/pkg/mod
强调一下 go.mod文件是整个项目文件最重要的东西之一了
例如我这里加载了一个外部库
当我删除go.mod文件后 go modules瞬间消失 。由此可见go.mod文件是go的核心(虽然sum文件会保留下来)
重新创建go.mod文件后又会加载go modules外部库(虽然这是为空)
重新添加后 又会添加新加的库
这是另外一种添加外部库的方法 通过直接修改go.mod文件来导入外部库!!!
例如我直接到我的源代码区找到gorm
添加到go.mod文件内保存 就加载到了外部库