Rumah >pembangunan bahagian belakang >Golang >Mengapa GoLand Menunjukkan Ralat 'Rujukan Tidak Selesai' untuk Kod Go yang Sah?

Mengapa GoLand Menunjukkan Ralat 'Rujukan Tidak Selesai' untuk Kod Go yang Sah?

Barbara Streisand
Barbara Streisandasal
2024-12-17 02:00:24309semak imbas

Why Does GoLand Show

Ralat Rujukan Tidak Selesai GoLand IDE Walaupun Kod Sah

Pengguna GoLand IDE oleh JetBrains kadangkala menghadapi mesej ralat "rujukan tidak dapat diselesaikan" untuk kod yang menyusun dan berjalan dengan betul. Isu ini amat membingungkan apabila rujukan itu sah dan kaedah ditakrifkan berdekatan.

Satu contoh khusus ialah kod berikut:

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

Walaupun pelaksanaan kaedah AddItem yang betul dalam MyBox taip, GoLand menandakan kotak.AddItem(item1) dan box.AddItem(item2) dalam warna merah, menunjukkan rujukan yang belum diselesaikan kepada "TambahItem."

Penyelesaian:

Seperti yang dicadangkan oleh pengguna yang mengalami isu yang sama, membatalkan cache dan memulakan semula GoLand mungkin menyelesaikan ralat. Untuk melakukan ini:

  1. Pergi ke Fail dalam bar menu.
  2. Pilih Batalkan Cache / Mulakan Semula.

Memulakan semula GoLand selepas tindakan ini harus menghapuskan ralat "rujukan tidak dapat diselesaikan" untuk yang terjejas kod. Penyelesaian ini didapati berkesan dalam beberapa kes.

Atas ialah kandungan terperinci Mengapa GoLand Menunjukkan Ralat 'Rujukan Tidak Selesai' untuk Kod Go yang Sah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn