登录
首页 >  Golang >  Go问答

GoLand (JetBrains) 显示错误消息“未解析的引用”。但是代码编译并运行

来源:stackoverflow

时间:2024-04-09 14:30:37 323浏览 收藏

小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《GoLand (JetBrains) 显示错误消息“未解析的引用”。但是代码编译并运行》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

问题内容

我正在使用 go 语言和 jetbrains 的 goland ide 编写一个项目。

在编写代码时,当引用确实存在并且程序编译并正确运行时,goland 会向我显示一条错误消息,例如 “未解析的引用”

这是我在 stackoverflow 上找到的一些代码的类似(但更简单)示例(go - 附加到结构中的切片)以重现此问题。

即使我已经实现了上面几行的方法,也会出现相同的错误消息。

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 参考“additem”。但代码仍然可以编译并运行。由于这是另一个 stackoverflow 问题的解决方案,我不认为代码是错误的。而且我找不到任何错误。

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


解决方案


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

到这里,我们也就讲完了《GoLand (JetBrains) 显示错误消息“未解析的引用”。但是代码编译并运行》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>