Maison >développement back-end >Golang >Comment importer correctement des packages locaux dans Go ?

Comment importer correctement des packages locaux dans Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-28 19:24:11182parcourir

How to Correctly Import Local Packages in Go?

Importation de packages locaux dans Go

Lorsque vous travaillez avec du code localisé dans Go, l'importation de packages locaux peut parfois rencontrer des défis. Voici une analyse détaillée d'un problème courant et de sa résolution :

Problème :

Dans le but de localiser l'instruction d'importation pour les packages situés dans "/home/me/ go/src/myapp", les modifications suivantes ont été apportées :

import (
    "./common"
    "./routers"
)

Cependant, lors de l'exécution de "go install myapp", les erreurs suivantes s'est produit :

can't load package: /home/me/go/src/myapp/main.go:7:3: local import "./common" in non-local package

De plus, l'utilisation de "common" et "routers" sans le préfixe "./" a abouti à :

myapp/main.go:7:3: cannot find package "common" in any of:
    /usr/local/go/src/common (from $GOROOT)
    /home/me/go/src/common (from $GOPATH)
myapp/main.go:8:2: cannot find package "routers" in any of:
    /usr/local/go/src/routers (from $GOROOT)
    /home/me/go/src/routers (from $GOPATH)

Solution :

Le problème vient de la convention du chemin d'importation de Go. Le répertoire de départ de Go pour les importations est "$HOME/go/src". Pour résoudre ce problème, ajoutez simplement le préfixe "myapp" aux noms de packages dans l'instruction d'importation :

import (
    "log"
    "net/http"
    "myapp/common"
    "myapp/routers"
)

Cette modification garantit que les chemins d'importation sont corrects et résoudra les erreurs rencontrées lors de la compilation.

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