基于windows10系统的测试

golang版本为1.13.6 (1.13会默认支持go modules包管理,推荐使用)
首先是新建项目:有两种操作
第一种是直接新建go项目。不推荐使用这一种,这种需要自己手动进行go mod init (项目) 还要取消index entire gopath需要操作的步骤太多不推荐使用
golang的外部包导入 基于goland
第二种创建go modules项目,环境这里需要设置代理。我就省略了已经设置环境变量了golang的外部包导入 基于goland
创建成功后会在目录下创建go.mod文件,同时在项目的外部库这里除了加载Go SDK外会额外加载Go modules(如果不适用go modules包管理这里加载的是gopath)
注意这里的go modules是空的
golang的外部包导入 基于goland

接下来说明如何加载外部库

创建main文件,main文件尝试导入gorm库,会发现这个是标红的,光标放到库名上会浮现 (不能解决 目录 ‘github.com’ ) golang的外部包导入 基于goland
鼠标浮现到加载不了的库上会出现Sync dependencies of awesomeProject:

golang的外部包导入 基于goland

点击就会自动同步GOPATH目录下的pkg.mod文件下以前下载的库(会先联网校验!此操作需要联网)
golang的外部包导入 基于goland

Sync dependencies of awesomeProject: Finished successfully 查看日志出现加载完成会发现项目的
外部库这里已经成功的加载了gorm以及它的依赖

golang的外部包导入 基于goland

查看go.mod会出现加载成功的gorm版本 go.mod附带一个go.sum属性 里面是依赖 也记录外部库中其他加载的库的版本之类的
golang的外部包导入 基于goland

注意上面说的方法是在gopath/pkg/mod目录已经存在的库如何加载

按上面的操作 尝试加载一个我未下载的库会出现下载依赖失败的情况
golang的外部包导入 基于goland
使用go get安装发现成功了, 成功后又可以继续调用了
golang的外部包导入 基于goland
go get安装的库下载到了gopath/pkg/mod
golang的外部包导入 基于goland

强调一下 go.mod文件是整个项目文件最重要的东西之一了

例如我这里加载了一个外部库golang的外部包导入 基于goland
当我删除go.mod文件后 go modules瞬间消失 。由此可见go.mod文件是go的核心(虽然sum文件会保留下来) golang的外部包导入 基于goland
重新创建go.mod文件后又会加载go modules外部库(虽然这是为空)
golang的外部包导入 基于goland
重新添加后 又会添加新加的库
golang的外部包导入 基于goland

这是另外一种添加外部库的方法 通过直接修改go.mod文件来导入外部库!!!

例如我直接到我的源代码区找到gorm
golang的外部包导入 基于goland

添加到go.mod文件内保存 就加载到了外部库
golang的外部包导入 基于goland

相关文章: