Maison >développement back-end >Golang >Comment accéder aux modules dans différents répertoires dans une structure de projet Go révisée ?

Comment accéder aux modules dans différents répertoires dans une structure de projet Go révisée ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-26 03:58:15945parcourir

How to Access Modules Across Different Directories in a Revised Go Project Structure?

Accès aux modules dans une structure de projet Golang révisée

Depuis la version 1.11 de Go, la gestion des modules a subi des changements importants. Pour comprendre comment référencer un module à partir d'un répertoire différent dans la nouvelle structure du projet, examinons la configuration de votre dossier :

\root\module1
\root\module2

Chaque répertoire contient un fichier go.mod, et vous pouvez accéder avec succès à ces modules dans le répertoire racine. Cependant, pour accéder au module2 à partir du module1, suivez ces étapes :

ANCIENNE VOIE

Dans l'approche traditionnelle, les modules doivent être placés dans la variable d'environnement GOPATH pour être accessibles. Le dossier GOPATH a généralement la structure suivante :

$GOPATH
├── bin
├── pkg
└── src
   ├── github.com
   └── other_imported_modules

Vous pouvez importer un fichier de structure de données nommé datastructures.go du module2 dans le module1 à l'aide de l'instruction d'importation :

import (
    "github.ibm.com/Alessio-Savi/GoLog-Viewer/datastructure"
)

NOUVELLE FAÇON

L'approche moderne de la gestion des modules implique l'utilisation du go mod init command :

go mod init github.com/username/modulename

Cela génère les fichiers go.mod et go.sum. Le fichier go.mod contient des dépendances, tandis que go.sum stocke leurs hachages. Par exemple, votre fichier go.mod pour module2 pourrait ressembler à :

module github.com/username/module2

go 1.13

require (
    github.com/alessiosavi/ahocorasick v0.0.3
)

Maintenant, vous pouvez importer module2 dans module1 :

import (
    "github.com/username/module2"
)

Cette méthode vous permet d'accéder à vos modules sans devoir les publier ou les placer dans le 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