Maison >développement back-end >Golang >Pourquoi Go renvoie-t-il une erreur « importation locale dans un package non local » et comment peut-elle être résolue ?

Pourquoi Go renvoie-t-il une erreur « importation locale dans un package non local » et comment peut-elle être résolue ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-13 19:34:23313parcourir

Why Does Go Return a

Importation locale dans un package Go

Dans Go, l'instruction import est utilisée pour importer des packages. Les packages sont utilisés pour organiser le code en unités logiques. Lors de l'importation d'un package, vous pouvez utiliser une importation locale ou une importation non locale.

Une importation locale importe un package à partir du répertoire de travail actuel. Une importation non locale importe un package depuis un autre répertoire.

L'erreur

Ce qui suit est une structure de fichier :

.
├── bin
│   └── hello
├── pkg
└── src
    └── jacob.uk.com
        ├── greeting
        │   └── greeting.go
        └── helloworld.go

avec le GOPATH suivant :

/Users/clarkj84/Desktop/LearningGo

Si vous exécutez la commande suivante dans le dossier src :

/usr/local/go/bin/go install jacob.uk.com

vous obtiendrez ce qui suit erreur :

local import "./greeting" in non-local package

Cette erreur se produit car vous utilisez une importation locale dans un package non local.

La solution

Pour corriger cette erreur, vous pouvez modifier le répertoire de travail vers src/jacob.uk.com, puis exécutez go install sans spécifier le package. Si vous disposez d'un fichier helloworld.go avec le contenu suivant :

package main

import "./greeting"

func main() {

}

vous obtiendrez une erreur de compilation indiquant "importé et non utilisé". Une fois que vous utilisez quelque chose du package de vœux importé, il devrait être compilé.

Cependant, il n'est pas recommandé d'utiliser les importations locales. Au lieu de cela, vous devez utiliser l'instruction d'importation suivante :

import "jacob.uk.com/greeting"

En utilisant cette instruction d'importation, vous pourrez compiler, exécuter et installer votre code de n'importe où.

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