Heim >Backend-Entwicklung >Golang >Wie greife ich in einer überarbeiteten Go-Projektstruktur über verschiedene Verzeichnisse hinweg auf Module zu?

Wie greife ich in einer überarbeiteten Go-Projektstruktur über verschiedene Verzeichnisse hinweg auf Module zu?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-26 03:58:15941Durchsuche

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

Zugriff auf Module in einer überarbeiteten Golang-Projektstruktur

Seit Go Version 1.11 hat sich die Modulverwaltung erheblich geändert. Um zu verstehen, wie Sie auf ein Modul aus einem anderen Verzeichnis in der neuen Projektstruktur verweisen, sehen wir uns Ihre Ordnereinrichtung an:

\root\module1
\root\module2

Jedes Verzeichnis enthält eine go.mod-Datei, und Sie können erfolgreich auf diese Module zugreifen Stammverzeichnis. Um jedoch von Modul1 aus auf Modul2 zuzugreifen, befolgen Sie diese Schritte:

ALTER WEG

Beim herkömmlichen Ansatz müssen Module in der Umgebungsvariablen GOPATH platziert werden, damit darauf zugegriffen werden kann. Der GOPATH-Ordner hat normalerweise die folgende Struktur:

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

Sie können eine Datenstrukturdatei mit dem Namen datastructures.go aus Modul2 in Modul1 importieren, indem Sie die Importanweisung verwenden:

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

NEUER WEG

Der moderne Ansatz zur Modulverwaltung beinhaltet die Verwendung des Go-Mod-Init Befehl:

go mod init github.com/username/modulename

Dies generiert go.mod- und go.sum-Dateien. Die Datei go.mod enthält Abhängigkeiten, während go.sum deren Hashes speichert. Beispielsweise könnte Ihre go.mod-Datei für Modul2 wie folgt aussehen:

module github.com/username/module2

go 1.13

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

Jetzt können Sie Modul2 in Modul1 importieren:

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

Mit dieser Methode können Sie auf Ihre Module ohne zugreifen Sie müssen sie veröffentlichen oder im GOPATH platzieren.

Das obige ist der detaillierte Inhalt vonWie greife ich in einer überarbeiteten Go-Projektstruktur über verschiedene Verzeichnisse hinweg auf Module zu?. 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