Mit der Entwicklung der Go-Sprache beginnen immer mehr Menschen, die Go-Sprache für die Entwicklung zu verwenden, und da der Umfang und die Komplexität von Projekten zunehmen, müssen wir unseren Code besser organisieren. Aus diesem Grund wurde in Go 1.11 und später das Konzept der Module eingeführt. In diesem Artikel wird erläutert, wie Sie Go-Module zum Verwalten unserer Projekte und Abhängigkeiten verwenden.
1. Was ist ein Go-Modul?
In der Go-Sprache ist ein Paket die Grundeinheit der Codeorganisation. Enthält eine Reihe verwandter Funktions-, Variablen- oder Typdefinitionen. In einem Projekt verwenden wir möglicherweise viele Pakete. Allerdings ist die Verwaltung der Versionen und Abhängigkeiten dieser Pakete sehr schwierig. Das in Go 1.11 eingeführte Modul soll dieses Problem lösen.
Einfach ausgedrückt ist ein Modul eine Sammlung von Codepaketen, die Quellcode, Abhängigkeiten und Versionsinformationen enthalten. Ein Modul kann auf andere Module oder andere Versionen seines eigenen Moduls verweisen.
2. So verwenden Sie das Go-Modul
So erstellen Sie ein neues Go-Modulprojekt , müssen Sie den folgenden Befehl in Ihrem Arbeitsverzeichnis ausführen:
$ go mod init example.com/hello
Dieser Befehl erstellt ein neues Modul im aktuellen Verzeichnis und nennt es example.com/hello</code > . Die Art und Weise, wie Go Abhängigkeiten auflöst, besteht darin, sie über URLs zu finden, daher müssen Modulnamen eindeutig sein. <code>example.com/hello
。Go 解决依赖项的方式是通过 URL 来定位依赖项,因此模块名需要是唯一的。
如果你的项目是已经在 GOPATH
目录之外的一个目录中,则在执行上述命令之前,你需要设置一下你的环境变量 GO111MODULE=on
,如下所示:
$ export GO111MODULE=on
在模块中添加依赖项的方法是运行以下命令:
$ go get example.com/dependency
这个命令将会从 example.com
下载最新的 dependency
包,并将其添加到你的项目中。如果这个包依赖于其他的包,则它们也会被自动下载。
你也可以指定特定的版本,如下:
$ go get example.com/dependency@v1.1.0
这个命令将会下载版本为 v1.1.0
的 dependency
包。
如果你需要切换依赖项的版本或者修改依赖项的代码,只需要修改 go.mod
文件即可。
例如,如果你想将 dependency
包的版本切换到 v1.2.0
,可以在 go.mod
文件中手动修改:
module example.com/hello require example.com/dependency v1.2.0
然后运行以下命令来更新依赖项:
$ go mod tidy
这个命令会自动更新依赖项,并从 go.sum
文件中删除不再使用的依赖项。
在你的代码中,你可以使用依赖项中的函数和类型。
当你对代码进行修改时,你需要重新构建你的模块,以便 Go 可以重新编译它们。执行以下命令即可:
$ go build
如果你的代码中包含了测试,你可以通过以下命令来运行测试:
$ go test -v
当你准备好发布你的模块时,你需要给你的模块打一个标签。执行以下命令:
$ git tag v1.0.0
然后将标签推送到远程仓库:
$ git push --tags
当其他人想要使用你的模块时,他们只需要添加你的模块作为依赖项即可:
module example.com/using_hello require example.com/hello v1.0.0
他们可以像上一节中介绍的那样运行 go get
GOPATH
befindet, müssen Sie Ihre Umgebungsvariable GO111MODULE festlegen, bevor Sie den obigen Befehl =on
ausführen >, wie unten gezeigt: rrreee
dependency
-Paket von example.com
herunter und fügt es Ihrem Projekt hinzu. Wenn dieses Paket von anderen Paketen abhängig ist, werden diese ebenfalls automatisch heruntergeladen. #🎜🎜##🎜🎜#Sie können auch eine bestimmte Version angeben, wie folgt: #🎜🎜#rrreee#🎜🎜#Dieser Befehl lädt die Abhängigkeitv1.1.0
herunter /code> Paket. #🎜🎜#dependency
-Pakets auf v1.2.0
ändern möchten, können Sie dies in go tun .mod
Ändern Sie die Datei manuell: #🎜🎜#rrreee#🎜🎜#Führen Sie dann den folgenden Befehl aus, um die Abhängigkeiten zu aktualisieren: #🎜🎜#rrreee#🎜🎜#Dieser Befehl aktualisiert die Abhängigkeiten automatisch und lädt sie von herunter go.sum Entfernen Sie Abhängigkeiten, die nicht mehr in der Codedatei verwendet werden. #🎜🎜#<ol start="4">#🎜🎜#Modul neu erstellen#🎜🎜##🎜🎜##🎜🎜#In Ihrem Code können Sie Funktionen und Typen aus Abhängigkeiten verwenden. #🎜🎜##🎜🎜#Wenn Sie Änderungen an Ihrem Code vornehmen, müssen Sie Ihre Module neu erstellen, damit Go sie neu kompilieren kann. Führen Sie einfach den folgenden Befehl aus: #🎜🎜#rrreee#🎜🎜# Wenn Ihr Code Tests enthält, können Sie die Tests mit dem folgenden Befehl ausführen: #🎜🎜#rrreee<ol start="5">#🎜🎜# Modul veröffentlichen #🎜🎜##🎜🎜##🎜🎜#Wenn Sie bereit sind, Ihr Modul zu veröffentlichen, müssen Sie Ihrem Modul ein Tag geben. Führen Sie den folgenden Befehl aus: #🎜🎜#rrreee#🎜🎜#Dann verschieben Sie das Tag in das Remote-Repository: #🎜🎜#rrreee#🎜🎜#Wenn andere Ihr Modul verwenden möchten, müssen sie Ihr Modul nur als Abhängigkeit hinzufügen Geben Sie einfach Folgendes ein: #🎜🎜#rrreee#🎜🎜#Sie können den Befehl <code>go get
wie im vorherigen Abschnitt beschrieben ausführen, um Ihr Modul herunterzuladen. #🎜🎜##🎜🎜#Kurz gesagt: Go-Module bieten uns eine einfache Möglichkeit, Abhängigkeiten und Versionen zu verwalten. Es bietet eine bessere Struktur für unsere Projekte und kann auch zur Wiederverwendbarkeit und Wartbarkeit unseres Codes beitragen. Wenn Sie noch nicht versucht haben, Go-Module zum Organisieren Ihrer Projekte zu verwenden, ist es jetzt an der Zeit, damit zu beginnen. #🎜🎜#Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Golang-Modul. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!