Maison >développement back-end >Golang >Comment importer des sous-packages dans Go : que faire lorsque vous obtenez l'erreur « No Go Files » ?

Comment importer des sous-packages dans Go : que faire lorsque vous obtenez l'erreur « No Go Files » ?

DDD
DDDoriginal
2024-11-18 19:29:02333parcourir

How to Import Subpackages in Go:  What to Do When You Get the

Importation de sous-packages avec Go : résolution de l'erreur "No Go Files"

Dans Go, l'importation de sous-packages en référençant leur répertoire parent n'est pas directement soutenu. Cependant, il existe d'autres approches pour résoudre le message d'erreur courant « aucun fichier Go dans [répertoire parent] ».

Considérez le scénario suivant :

package main

import "one/entities/bar"

func main() {

}

Avec cette structure de répertoires :

- one
   - entities
      - bar
         - file.go

Lors de la tentative de construction du projet à l'aide de go install main, une erreur apparaît indiquant l'absence de fichiers Go dans le répertoire du sous-package. Pour résoudre ce problème, vous ne pouvez pas importer de sous-packages à l'aide d'une syntaxe générique, car l'instruction d'importation nécessite un nom ou un chemin de package explicite.

Pour importer correctement les sous-packages, vous devez importer chaque sous-package individuellement. Par exemple, pour importer le sous-package bar, vous devez modifier le fichier main.go comme suit :

package main

import (
    "one/entities/bar/file1"
    "one/entities/bar/file2"
)

func main() {

}

Vous pouvez également utiliser un chemin d'importation personnalisé pour regrouper les sous-packages associés sous une seule instruction d'importation. Cela peut améliorer la lisibilité et réduire le nombre de lignes d'importation. Pour y parvenir, créez un répertoire nommé import dans le répertoire one/entities et placez-y un fichier nommé init.go. Dans le fichier init.go, définissez un chemin d'importation personnalisé et importez les sous-packages souhaités :

// import/init.go
package entities

import (
    _ "one/entities/bar/file1"
    _ "one/entities/bar/file2"
)

Ensuite, dans votre fichier main.go, importez le package d'entités en utilisant le chemin d'importation personnalisé :

// main.go
package main

import (
    "log"
    "one/entities"
)

func main() {
    v := entities.Bar_file1.Get.Basic.Req.Headers{}
    log.Fatal(v)
}

En suivant ces approches, vous pouvez importer correctement des sous-packages dans Go, en résolvant l'erreur « pas de fichiers Go » et en organisant vos importations pour une meilleure lisibilité du code.

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