Maison > développement back-end > Golang > Pourquoi mon programme Go échoue-t-il avec les « packages trouvés my_prog et main » et comment puis-je y remédier ?

Pourquoi mon programme Go échoue-t-il avec les « packages trouvés my_prog et main » et comment puis-je y remédier ?

Mary-Kate Olsen
Libérer: 2024-12-17 05:46:24
original
770 Les gens l'ont consulté

Why Does My Go Program Fail with

Erreur d'importation de package dans Go : résolution des "packages trouvés my_prog et main"

Lors de la tentative de création d'un programme Go, une erreur courante qui La rencontre des développeurs est "Impossible de charger le package : package my_prog : packages trouvés my_prog et main". Cette erreur indique un conflit avec plusieurs packages partageant le même nom.

Pour résoudre cette erreur, la compréhension suivante est cruciale :

Structure des packages dans Go

Dans Go, le code est organisé en packages. Un package définit un ensemble de types, de fonctions et de variables associés. Chaque package doit résider dans son propre répertoire.

Importation de packages et conflits

Lorsque vous importez un package dans Go, vous spécifiez son nom comme identifiant dans la déclaration d'importation . S'il existe plusieurs packages portant le même nom dans le répertoire actuel ou dans GOPATH, Go générera une erreur de conflit d'importation.

Cas en question

Basé sur le à condition que la structure de code soit fournie, vous avez deux packages dans le même répertoire :

  • main : défini dans main.go
  • my_prog : défini dans d_interface.go et d_struct_that_implements_the_interface.go

Le mécanisme d'importation de Go est sensible à la casse, ce qui signifie que main et my_prog sont considérés comme des packages distincts. Cependant, lorsque vous essayez de construire my_prog, Go trouve les deux packages dans le répertoire courant et génère l'erreur de conflit d'importation.

Solution

Pour résoudre cette erreur, vous devez pour vous assurer que chaque package réside dans son propre répertoire :

  • Déplacez les fichiers d_interface.go et d_struct_that_implements_the_interface.go dans un répertoire séparé.
  • Renommez le nouveau répertoire en my_prog.
  • Mettez à jour l'instruction d'importation dans main.go pour refléter le nouveau nom du répertoire.

Une fois ces modifications apportées, vous devriez pouvoir créer avec succès le package my_prog.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal