Maison >développement back-end >Golang >Pourquoi mon compilateur Go affiche-t-il des erreurs « Déclarées mais non utilisées » même si mes variables semblent être utilisées ?

Pourquoi mon compilateur Go affiche-t-il des erreurs « Déclarées mais non utilisées » même si mes variables semblent être utilisées ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-25 10:36:16216parcourir

Why Does My Go Compiler Show

Erreurs déclarées mais non utilisées dans le compilateur Go

Dans le programme Go fourni, le compilateur signale les erreurs de « variable déclarée et non utilisée » pour variables m, err et key, malgré le fait que le code semble les utiliser. Cela peut prêter à confusion car cela semble être une contradiction.

Dans le code d'origine :

func img() { ... }

Les variables m et err sont déclarées dans la portée de l'instruction if. Cela signifie qu'ils ne sont visibles que dans cette branche d'exécution spécifique et ne peuvent pas être utilisés en dehors de celle-ci. En conséquence, le compilateur les marque comme étant déclarées mais non utilisées.

Pour résoudre ce problème, les variables m et err doivent être déclarées dans la portée de la fonction, avant l'instruction if. Cela les rendra visibles tout au long de la fonction et permettra de les utiliser comme prévu.

De même, la variable clé est déclarée dans la fonction mais n'est jamais utilisée. Cela peut être supprimé pour répondre à l'avertissement du compilateur.

Le code suivant modifie la portée des variables m et err et supprime la variable clé inutilisée :

func img() {
  var m Image
  key := datastore.NewKey("Comparison", r.FormValue("id"), 0, nil)

  ... // Rest of the code unchanged
}

Avec ces modifications, le compilateur les avertissements doivent être résolus.

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