>백엔드 개발 >Golang >GoLand에서 유효한 Go 코드에 대해 '해결되지 않은 참조' 오류가 표시되는 이유는 무엇입니까?

GoLand에서 유효한 Go 코드에 대해 '해결되지 않은 참조' 오류가 표시되는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-17 02:00:24254검색

Why Does GoLand Show

유효한 코드에도 불구하고 GoLand IDE 해결되지 않은 참조 오류

JetBrains의 GoLand IDE 사용자는 다음과 같은 코드에 대해 "해결되지 않은 참조" 오류 메시지가 표시되는 경우가 있습니다. 올바르게 컴파일되고 실행됩니다. 이 문제는 참조가 유효하고 메서드가 근처에 정의된 경우 특히 혼란스럽습니다.

한 가지 구체적인 예는 다음 코드입니다.

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)
}

MyBox 내에서 AddItem 메서드가 올바르게 구현되었음에도 불구하고 유형에 따라 GoLand는 box.AddItem(item1) 및 box.AddItem(item2)을 빨간색으로 표시하여 다음에 대한 해결되지 않은 참조를 나타냅니다. "AddItem."

해결책:

유사한 문제를 경험한 사용자의 제안에 따라 캐시를 무효화하고 GoLand를 다시 시작하면 오류가 해결될 수 있습니다. 이렇게 하려면:

  1. 메뉴 표시줄에서 파일으로 이동합니다.
  2. 캐시 무효화/다시 시작을 선택합니다.

이 작업 후 GoLand를 다시 시작하면 영향을 받은 항목에 대한 "해결되지 않은 참조" 오류가 제거됩니다. 코드. 이 솔루션은 여러 경우에 효과적인 것으로 나타났습니다.

위 내용은 GoLand에서 유효한 Go 코드에 대해 '해결되지 않은 참조' 오류가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.