Heim >Backend-Entwicklung >Golang >Wie strukturiert man Go-Module und -Projekte in Go 1.11 und höher richtig?
So strukturieren Sie Golang-Module und Projektstruktur auf die neue Art und Weise
Im aktualisierten Modulsystem wurde in Go 1.11 der Ansatz zur Referenzierung eingeführt Module aus verschiedenen Verzeichnissen entwickelt. Lassen Sie uns untersuchen, wie wir dies auf die neue Art erreichen können.
Alter Weg
Zuvor mussten Module zur Verwendung im GOPATH platziert werden. Normalerweise wurde für jedes Projekt ein Ordner innerhalb des GOPATH erstellt. Alles im Verzeichnis „src“ könnte in Software importiert und exportiert werden.
Betrachten Sie beispielsweise die folgende Projektstruktur:
github.ibm.com/ └── Alessio-Savi └── GoLog-Viewer ├── conf ├── database ├── datastructure ├── GinProva.go ├── README.md ├── request └── resources
Um die Datei datastructures.go zu importieren, die folgende Anweisung könnte verwendet werden:
import( "github.ibm.com/Alessio-Savi/GoLog-Viewer/datastructure" )
Neuer Weg
Mit der Einführung von Go-Modulen wurde die Die Verwendung von GOPATH ist nicht mehr erforderlich. Stattdessen kann der Befehl „go mod init“ verwendet werden, um ein neues Modul zu initialisieren. Dadurch werden zwei Dateien generiert: go.mod und go.sum.
Die Datei go.mod listet die erforderlichen Bibliotheken und den externen Go-Code auf, der für das Modul benötigt wird, während go.sum Hashes dieser Bibliotheken enthält.
Betrachten Sie zum Beispiel die GoGPUtils-Bibliothek:
mkdir GoGPUtils cd $_ go mod init github.com/alessiosavi/GoGPUtils
Die Datei go.mod würde in etwa so aussehen Dies:
module github.com/alessiosavi/GoGPUtils go 1.13 require ( github.com/alessiosavi/ahocorasick v0.0.3 golang.org/x/tools v0.0.0-20191031220737-6d8f1af9ccc0 // indirect )
Um die ahocorasick-Bibliothek innerhalb des Moduls zu importieren, kann die folgende Anweisung verwendet werden:
import ( ahocorasick "github.com/alessiosavi/ahocorasick" )
In Ihrem Beispielszenario benötigen Sie, um von Modul1 aus auf Modul2 zuzugreifen um den Pfad zu Modul2 in die go.mod-Datei von Modul1 aufzunehmen. Zum Beispiel:
require ( github.com/your-username/module2 v0.0.1 )
Das obige ist der detaillierte Inhalt vonWie strukturiert man Go-Module und -Projekte in Go 1.11 und höher richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!