So verwenden Sie das Golang-Modul

PHPz
Freigeben: 2023-05-10 22:15:08
Original
493 Leute haben es durchsucht

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

  1. Erstellen Sie ein neues 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
Nach dem Login kopieren

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
Nach dem Login kopieren
  1. 添加依赖项

在模块中添加依赖项的方法是运行以下命令:

$ go get example.com/dependency
Nach dem Login kopieren

这个命令将会从 example.com 下载最新的 dependency 包,并将其添加到你的项目中。如果这个包依赖于其他的包,则它们也会被自动下载。

你也可以指定特定的版本,如下:

$ go get example.com/dependency@v1.1.0
Nach dem Login kopieren

这个命令将会下载版本为 v1.1.0dependency 包。

  1. 修改依赖项

如果你需要切换依赖项的版本或者修改依赖项的代码,只需要修改 go.mod 文件即可。

例如,如果你想将 dependency 包的版本切换到 v1.2.0,可以在 go.mod 文件中手动修改:

module example.com/hello

require example.com/dependency v1.2.0
Nach dem Login kopieren

然后运行以下命令来更新依赖项:

$ go mod tidy
Nach dem Login kopieren

这个命令会自动更新依赖项,并从 go.sum 文件中删除不再使用的依赖项。

  1. 重建模块

在你的代码中,你可以使用依赖项中的函数和类型。

当你对代码进行修改时,你需要重新构建你的模块,以便 Go 可以重新编译它们。执行以下命令即可:

$ go build
Nach dem Login kopieren

如果你的代码中包含了测试,你可以通过以下命令来运行测试:

$ go test -v
Nach dem Login kopieren
  1. 发布模块

当你准备好发布你的模块时,你需要给你的模块打一个标签。执行以下命令:

$ git tag v1.0.0
Nach dem Login kopieren

然后将标签推送到远程仓库:

$ git push --tags
Nach dem Login kopieren

当其他人想要使用你的模块时,他们只需要添加你的模块作为依赖项即可:

module example.com/using_hello

require example.com/hello v1.0.0
Nach dem Login kopieren

他们可以像上一节中介绍的那样运行 go get

Wenn sich Ihr Projekt bereits in einem Verzeichnis außerhalb des Verzeichnisses GOPATH befindet, müssen Sie Ihre Umgebungsvariable GO111MODULE festlegen, bevor Sie den obigen Befehl =onausführen >, wie unten gezeigt:

rrreee

    Abhängigkeiten hinzufügen#🎜🎜##🎜🎜##🎜🎜#Abhängigkeiten im Modul hinzufügen Führen Sie dazu den folgenden Befehl aus : #🎜🎜#rrreee#🎜🎜#Dieser Befehl lädt das neueste 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. #🎜🎜#
      #🎜🎜#Abhängigkeiten ändern#🎜🎜##🎜🎜##🎜🎜#Wenn Sie die Version einer Abhängigkeit ändern oder den Code einer Abhängigkeit ändern müssen, ändern Sie einfach go.mod-Datei ist ausreichend. #🎜🎜##🎜🎜#Wenn Sie beispielsweise die Version des 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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage