Importation de sous-packages dans Go sans importer explicitement chaque répertoire
Lorsque vous travaillez avec une structure de projet qui comprend plusieurs sous-packages sous un seul répertoire, il peut être gênant d'importer chaque sous-paquet individuellement. Pour résoudre ce problème, les développeurs peuvent se demander s'il existe un moyen d'importer tous les sous-packages dans un répertoire en utilisant une notation générique.
Un exemple fourni par un utilisateur implique un projet avec une structure comme suit :
main.go (root directory) |- entities |- bar |- bar.go |- basic.go |- req.go
Tenter d'importer le sous-paquet bar en utilisant une notation générique comme indiqué ci-dessous déclenche une erreur de compilation :
package main import bar "one/entities/bar/*" func main(){ }
Malheureusement, la syntaxe d'importation de Go ne prend pas en charge les importations par caractères génériques. Le message d'erreur précise qu'il n'y a aucun fichier Go dans le répertoire spécifié :
src/main/main.go:3:8: no Go files in /home/oleg/codes/oresoftware/oredoc/test/builds/go/src/one/entities/bar
Au lieu d'importer des sous-packages à l'aide de caractères génériques, l'approche recommandée consiste à spécifier explicitement le sous-package à importer. Cela garantit que la dépendance est clairement définie et peut être facilement comprise par d'autres développeurs.
Pour l'exemple fourni, l'instruction d'importation correcte serait :
package main import ( "log" "one/entities/bar/basic" ) func main(){ v := basic.Get.Req.Headers{} log.Fatal(v) }
Dans ce cas, seul le le sous-paquet spécifique requis, c'est-à-dire de base, est importé. Cette approche évite les dépendances potentielles sur les sous-packages inutilisés et maintient le code organisé.
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!