首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GoLand (JetBrains)显示错误消息“Unresolved”。但是代码会编译并运行

GoLand (JetBrains)显示错误消息“Unresolved”。但是代码会编译并运行
EN

Stack Overflow用户
提问于 2020-01-02 05:53:15
回答 7查看 16.1K关注 0票数 48

我正在用GoLanguage做一个项目,并使用Jetbrains的GoLand作为集成开发环境。GoLand在集成开发环境中向我显示了一条错误消息(“未解析的引用”),但仍然可以正确编译和运行。

下面是我在stackoverflow (Go -追加到struct中的切片)。出现相同的错误信息。但是很明显,我已经在上面的几行代码中实现了这个方法。

代码语言:javascript
运行
复制
package main

import (
"fmt"
)

 type MyBoxItem struct {
Name string
 }

 type MyBox struct {
Items []MyBoxItem
 }

func (box *MyBox) AddItem(item MyBoxItem) {
box.Items = append(box.Items, item)
}


 func main() {

item1 := MyBoxItem{Name: "Test Item 1"}
item2 := MyBoxItem{Name: "Test Item 2"}

box := MyBox{}

box.AddItem(item1)
box.AddItem(item2)

// checking the output
fmt.Println(len(box.Items))
fmt.Println(box.Items)
}

box.AddItem(item1)box.AddItem(item2)标记为红色表示错误。如果我将光标移到它上面,它会显示(unresolved reference "AddItem")。然而,代码可以编译并运行。由于这是另一个堆栈溢出问题的解决方案,我不认为代码是错误的。此外,我找不到其中的任何错误。

​有人能帮忙吗?非常感谢

编辑:我从远程服务器加载代码,并在我的私人pc上本地编辑它。完成更改后,我将其上传到远程服务器(使用“浏览远程主机”之类的GoLands工具),并在那里构建和编译它。在使用完全相同的代码在本地尝试之后,错误消息有时存在,有时不存在。我完全糊涂了

EN

回答 7

Stack Overflow用户

发布于 2020-04-22 10:49:23

我也遇到过类似的问题,但它要普遍得多。甚至像这样的事情fmt.Printf()显示为未解决。能够通过转到文件->使缓存无效/重新启动。

票数 91
EN

Stack Overflow用户

发布于 2021-01-11 22:51:08

我使用的是go模块,它的解决方法是:

  • 取消选择首选项->Go-> GOPATH ->使用系统环境中定义的GOPATH
  • 文件->无效缓存/重新启动
票数 6
EN

Stack Overflow用户

发布于 2021-02-25 11:37:21

我刚刚从Goland中删除了这个项目,并从现有文件中重新创建了它。这很奇怪,但很管用。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59556394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档