Goland 导入自定义包问题解决

今天在学习Go的面向对象时,想测试Go中类属性、方法的公私有问题,在另外定义一个包后,发现在main函数中无法导入。

Goland 导入自定义包问题解决

在网上查了很多博客都没能解决问题,目录页照着修改了 ,什么GOPATH也修改了,参照很多文章,他们的解决方法似乎都不太适合我。。。。

经过头皮发麻,差点爆锤电脑后,终于综合多篇文章解决问题!

这里介绍一下我自己的解决方法

参考https://www.cnblogs.com/wurijie/p/12006117.html

1.设置中启用“Enable Go Modules”

Setting中设置启用go module(其他go path之类的无需设置,使用默认),路径:Go——Go Modules,勾选Enable Go Modules

2.在项目跟目录下执行go mod init

在编辑器左下方找到“Terminal”选项卡,进入后执行 go mod init命令

Goland 导入自定义包问题解决

如图,会提示正确的命令使用方法。根据我的情况执行如下命令:

Goland 导入自定义包问题解决 

这时候项目目录中会创建go.mod文件

Goland 导入自定义包问题解决

然后,我尝试导入自定义包,发现问题并没有解决。

Goland 导入自定义包问题解决

并出现新的问题:

Goland 导入自定义包问题解决

对该错误的解释:开启模块支持后,并不能与$GOPATH共存,所以需要把项目从$GOPATH中移出即可

也就是说,开启模块支持后我们需要确认Project GOPATH 是空的,即将其中的项删除。

3.确认并清除Project GOPATH

Goland 导入自定义包问题解决

 

Goland 导入自定义包问题解决

Global GOPATH  改不改、有没有并没什么影响。


说明:

Global GOPATH:环境变量中配置的GOPATH路径

Project GOPATH:项目的GOPATH,最好不好设置Global GOPATH,因为这样项目将会使用到所用配置到GOPATH的文件


返回编辑页面,导入错误提示已经没有了。

Goland 导入自定义包问题解决