Maison >développement back-end >Golang >Pourquoi Go ne prend-il pas en charge les importations relatives et quelle est la meilleure pratique pour importer des packages ?

Pourquoi Go ne prend-il pas en charge les importations relatives et quelle est la meilleure pratique pour importer des packages ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-27 02:14:10669parcourir

Why Doesn't Go Support Relative Imports, and What's the Best Practice for Importing Packages?

Importations relatives dans Go

Dans Go, la convention pour importer des packages à partir d'un répertoire parent est d'utiliser des chemins absolus. Contrairement à d'autres langages, Go ne prend pas en charge les chemins d'importation relatifs.

Bonne pratique : chemins d'importation absolus

L'approche recommandée consiste à organiser votre code à l'aide de chemins d'importation absolus pour tous les packages, même ceux du même projet. Cela garantit la clarté et évite toute ambiguïté.

Exemple

Considérez la structure de projet suivante, où meme est un chemin d'importation dans $GOPATH/src/matt/meme :

- $GOPATH
    - src
        - matt
            - meme
                - main.go

Pour importer le package meme depuis un autre répertoire du projet, utilisez ce qui suit syntaxe :

import "matt/meme"

Éviter : chemins d'importation relatifs

Bien qu'il puisse sembler pratique d'utiliser des chemins d'importation relatifs, tels que import "../../. ./meme", cette approche est déconseillée dans Go. Cela peut conduire à une ambiguïté et peut ne pas fonctionner comme prévu.

Conclusion

Pour les meilleures pratiques en matière d'organisation du code et de chemins d'importation, utilisez des chemins absolus et évitez les importations relatives dans Go .

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