Maison >développement back-end >Golang >Peut-on utiliser les importations relatives ?

Peut-on utiliser les importations relatives ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-18 03:35:10186parcourir

Can Go Use Relative Imports?

Importations relatives dans Go : meilleures pratiques et alternatives

Dans Go, l'importation de modules et de packages s'effectue généralement à l'aide de chemins d'importation absolus, garantissant ainsi la clarté et la cohérence. Cependant la question se pose : est-il possible d'effectuer des importations relatives depuis un répertoire parent ?

Initialement proposé dans la question, en utilisant des chemins d'importation relatifs tels que "import "../../../meme" " peut paraître intuitif. Cependant, le compilateur de Go rencontre des difficultés avec de tels chemins, ce qui entraîne des erreurs de résolution d'importation ambiguës.

La méthode Go : adoptez les chemins absolus

Go déconseille fortement l'utilisation de l'importation relative. chemins. Cette approche introduit de la complexité et va à l'encontre des pratiques d'organisation du code recommandées. Chaque package doit posséder un chemin d'importation unique et être systématiquement importé de tous les autres projets utilisant le même chemin.

Exemples pratiques

Considérez les recommandations suivantes pour structurer vos projets Go :

  • Créez un répertoire $GOPATH (par exemple, ~/go) pour stocker tout le code lié à Go et ressources.
  • Organisez les dossiers dans $GOPATH/src comme suit :

    • $GOPATH/src/bitbucket.org/anacrolix/meme/cmd/meme
    • $GOPATH/src/github.com/ha/doozerd/peer
  • Dans les packages, importez d'autres packages en utilisant des chemins absolus. Par exemple, camlistore.org/pkg/auth importe camlistore.org/pkg/netutil en utilisant son chemin complet.

Évitez toute ambiguïté, favorisez la cohérence

Par en adhérant à ces bonnes pratiques, vous pouvez éviter les ambiguïtés sur le chemin d’importation et garantir une organisation cohérente du code. Même si les importations relatives peuvent sembler pratiques, elles introduisent une confusion inutile et limitent l’évolutivité de vos projets Go. Adoptez la voie Go et exploitez les chemins d'importation absolus pour plus de clarté et de robustesse.

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