Heim >Backend-Entwicklung >Golang >Wie kann ich lokale Pakete mithilfe relativer Pfade korrekt in Go importieren?

Wie kann ich lokale Pakete mithilfe relativer Pfade korrekt in Go importieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-22 03:06:10829Durchsuche

How Can I Correctly Import Local Packages in Go Using Relative Paths?

Verwendung relativer Importe für lokale Pakete in Go

Beim Lokalisieren von Codepaketen in Go kann deren Import eine Herausforderung sein. Diese Frage untersucht ein Problem, bei dem ein Entwickler beim Versuch, lokale Pakete mithilfe relativer Pfade zu importieren, auf Fehler stößt.

Im bereitgestellten Beispiel hat der Entwickler versucht, lokale Pakete „Common“ und „Router“ aus „/home/me/go/“ zu importieren. src/myapp-Verzeichnis mithilfe relativer Importanweisungen. Allerdings schlugen diese Importe mit Fehlern fehl, die darauf hinweisen, dass lokale Importe in nicht lokalen Paketen nicht zulässig sind.

Außerdem meldete der Compiler bei Verwendung von Paketnamen ohne die relativen Pfade, dass die Pakete nicht gefunden werden konnten.

Die Lösung liegt im Verständnis des Go-Importpfads. Standardmäßig startet Go seinen Importsuchpfad von $HOME/go/src. Das bedeutet, dass sich die Pakete direkt unter diesem Verzeichnis oder innerhalb von Unterverzeichnissen befinden müssen.

In diesem Fall werden die lokalen Pakete common und routers nicht direkt unter $HOME/go/src abgelegt. Um das Importproblem zu lösen, muss der Entwickler den Projektnamen myapp den Paketimportpfaden voranstellen.

Daher sollten die korrekten Importanweisungen lauten:

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

Mit dieser Änderung wird die Der Go-Importpfad wird korrekt in die lokalen Pakete aufgelöst und die Fehler beseitigt.

Das obige ist der detaillierte Inhalt vonWie kann ich lokale Pakete mithilfe relativer Pfade korrekt in Go importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn