Maison >développement back-end >Golang >Pourquoi GoLand affiche-t-il des erreurs « Référence non résolue » pour un code Go valide ?

Pourquoi GoLand affiche-t-il des erreurs « Référence non résolue » pour un code Go valide ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-17 02:00:24309parcourir

Why Does GoLand Show

Erreur de référence non résolue de l'IDE GoLand malgré un code valide

Les utilisateurs de l'IDE GoLand de JetBrains rencontrent parfois un message d'erreur « référence non résolue » pour le code qui compile et fonctionne correctement. Ce problème est particulièrement déroutant lorsque la référence est valide et que les méthodes sont définies à proximité.

Un exemple spécifique est le code suivant :

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

Malgré l'implémentation correcte de la méthode AddItem dans MyBox tapez, GoLand marque box.AddItem(item1) et box.AddItem(item2) en rouge, indiquant une référence non résolue à "AddItem."

Solution :

Comme suggéré par un utilisateur ayant rencontré un problème similaire, l'invalidation des caches et le redémarrage de GoLand peuvent résoudre l'erreur. Pour ce faire :

  1. Allez dans Fichier dans la barre de menu.
  2. Sélectionnez Invalider les caches/Redémarrer.

Le redémarrage de GoLand après cette action devrait éliminer l'erreur « référence non résolue » pour le code concerné. Cette solution s'est avérée efficace dans plusieurs cas.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn