Maison >développement back-end >Golang >Comment accéder aux packages locaux dans un module Go ?

Comment accéder aux packages locaux dans un module Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-22 05:04:13619parcourir

How Do I Access Local Packages Within a Go Module?

Accès aux packages locaux dans un module Go

Question :

Impossible d'accéder aux packages locaux dans un module Go. La structure du projet est la suivante :

/
  - /platform
      - platform.go
  - main.go
  - go.mod

L'importation du package de plate-forme dans main.go entraîne l'erreur : impossible de trouver le module pour la plate-forme de chemin.

Réponse :

Pour accéder aux packages locaux dans un module Go, vous pouvez utiliser la directive replace dans le fichier go.mod. Cette directive permet de spécifier un chemin local vers un module qui n'est pas publié à distance.

Dans le fichier go.mod du module principal, ajoutez les lignes suivantes :

module github.com/userName/mainModule

require "github.com/userName/otherModule" v0.0.0
replace "github.com/userName/otherModule" v0.0.0 => "local physical path to the otherModule"

Le chemin spécifié doit pointer vers le répertoire racine du module et peut être absolu ou relatif.

Dans main.go, pour importer un package spécifique comme la plateforme depuis le module otherModule, utilisez l'importation suivante chemin :

import "github.com/userName/otherModule/platform"

Informations supplémentaires :

  • Les modules dans Go sont des collections de packages. Dans Go 11, vous pouvez utiliser des modules sans les publier à distance.
  • Si les packages se trouvent dans le même projet, vous pouvez les importer directement en utilisant leurs noms de package.
  • Pour les modules séparés, la directive replace est utilisé pour référencer des packages locaux sans les publier à distance.

Référez-vous aux ressources suivantes pour en savoir plus détails :

  • [Modules Golang](https://go.dev/blog/modules)

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