解决Goland 提示 Unresolved reference 错误的问题

(编辑:jimmy 日期: 2024/12/24 浏览:2)

之前一直正常的项目,莫名其妙的 database/sql 包下的方法、结构体等等IDE都无法识别,出现一堆Unresolved reference错误提示,但包导入路径可以正确定位,而且项目运行也正常,其他包都正常,另一个项目下同样使用sql包也正常。

折腾半天都没用,不想重建项目重装IDE太麻烦,最后尝试最简单的升级到 golang 1.12.5 重启Goland后就正常了,应该和版本没有关系,重装下golang就行,估计是Goland文件索引的问题,重装golang后会重建索引就能正常识别了

解决Goland 提示 Unresolved reference 错误的问题

import 正常,能正确识别路径,但不能识别 database/sql 包中的任何方法、结构体等。。。但使用其他包却都正常,奇怪

解决Goland 提示 Unresolved reference 错误的问题

升级golang后IDE应该是重建了索引,现在就一切正常了

补充:Goland 导入自定义包问题解决

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

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

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

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

解决Goland 提示 Unresolved reference 错误的问题

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

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

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

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

解决Goland 提示 Unresolved reference 错误的问题

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

解决Goland 提示 Unresolved reference 错误的问题

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

解决Goland 提示 Unresolved reference 错误的问题

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

解决Goland 提示 Unresolved reference 错误的问题

并出现新的问题:

解决Goland 提示 Unresolved reference 错误的问题

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

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

3.确认并清除Project GOPATH

解决Goland 提示 Unresolved reference 错误的问题

解决Goland 提示 Unresolved reference 错误的问题

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

说明:

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

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

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

解决Goland 提示 Unresolved reference 错误的问题

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?