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
Freigeben: 2024-11-26 03:58:15
Original
950 Leute haben es durchsucht

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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"
)
Nach dem Login kopieren

NEUER WEG

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

go mod init github.com/username/modulename
Nach dem Login kopieren

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
)
Nach dem Login kopieren

Jetzt können Sie Modul2 in Modul1 importieren:

import (
    "github.com/username/module2"
)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage