Maison >développement back-end >Golang >Pourquoi ne puis-je pas importer des packages locaux depuis GOPATH/src dans Go ?

Pourquoi ne puis-je pas importer des packages locaux depuis GOPATH/src dans Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-30 02:35:03232parcourir

Why Can't I Import Local Packages from GOPATH/src in Go?

Importation de packages locaux dans Go : naviguer dans le dilemme GOPATH/src/project

Dans Go, l'importation de packages locaux peut présenter des défis lorsque le projet réside dans GOPATH/src annuaire. Cette question explore pourquoi l'importation de packages locaux peut échouer à partir du répertoire GOPATH/src mais réussir lorsqu'elle est déplacée vers le répertoire personnel.

Cause du problème

L'erreur rencontrée lorsque la tentative d'importation d'un package local depuis GOPATH/src est principalement due à l'utilisation de chemins d'importation relatifs. Les chemins d'importation relatifs fournissent un moyen pratique de faire référence aux packages au sein du projet, mais ne sont pas entièrement pris en charge par les commandes Go build et install.

Solution

Pour résoudre ce problème , il est recommandé d'éviter d'utiliser des chemins d'importation relatifs et de suivre plutôt les directives du langage de programmation Go pour structurer le code. Cela implique d'organiser votre code dans une hiérarchie de packages, chacun avec son propre répertoire, et d'utiliser des chemins d'importation absolus pour référencer ces packages.

Exemple

Considérez le projet suivant structure :

/usr/local/go/src/myproject
    - main.go
    - models
        - product.go

Dans cette structure, le fichier main.go peut importer le package models en utilisant un chemin d'importation absolu :

package main

import (
    "myproject/models"
    "fmt"
    "github.com/gin-gonic/gin"
)

Notes supplémentaires

  • Il est important d'utiliser le chemin d'importation absolu complet, y compris le nom du projet.
  • Assurez-vous que le chemin du projet est ajouté à la variable d'environnement GOPATH.
  • Vous devrez peut-être pour reconstruire votre projet en utilisant go build ou go install pour refléter les modifications.

En suivant ces directives, vous pouvez importer avec succès des packages locaux dans Go, quel que soit leur emplacement dans le répertoire GOPATH.

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