Heim >Backend-Entwicklung >Golang >Wie verweise ich auf Go-Module von außerhalb des GOPATH?

Wie verweise ich auf Go-Module von außerhalb des GOPATH?

Linda Hamilton
Linda HamiltonOriginal
2024-11-27 20:27:15659Durchsuche

How Do I Reference Go Modules from Outside the GOPATH?

Referenzierung von Modulen aus Nicht-GOPATH-Verzeichnissen

Die Einführung von Go-Modulen in Go 1.11 führte zu Änderungen bei der Referenzierung von Modulen und Paketen aus Nicht-GOPATH-Verzeichnissen.

Alter Weg

Traditionell, Go-Module mussten sich im GOPATH befinden. Module und Pakete in diesem Verzeichnis könnten mit der folgenden Syntax importiert werden:

import (
    "github.com/username/modulename/subpackage"
)

New Way

Mit Go-Modulen hat sich dieser Ansatz geändert. Pakete können sich jetzt außerhalb von GOPATH befinden. So referenzieren Sie ein Paket aus einem anderen Verzeichnis:

Modul initialisieren

Initialisieren Sie ein neues Modul mit dem Befehl „go mod init“:

go mod init github.com/username/modulename

Dadurch werden go.mod und go erstellt .sum-Dateien im aktuellen Verzeichnis.

Importanweisungen

Verwenden Sie Importanweisungen, um auf Pakete zu verweisen andere Verzeichnisse. Wenn sich Modul2 beispielsweise unter /root/module2 befindet und ein Paket mit dem Namen module2 enthält, lautet die Importanweisung in Modul1:

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

Dateistruktur

Unter der Annahme der folgenden Dateistruktur :

\root
└── module1
    ├── go.mod
    └── main.go

└── module2
    ├── go.mod
    └── module2.go

go.mod Dateien

Modul1:

module github.com/username/module1

require (
    github.com/username/module2 v0.0.1
)

Modul2:

module github.com/username/module2

go 1.13

main.go (Module1)

package main

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

func main() {
    fmt.Println(module2.Name())
}

module2.go (Modul2)

package module2

import "fmt"

func Name() string {
    return "Module 2"
}

Indem Sie diese Schritte befolgen, können Sie Module aus Nicht-GOPATH-Verzeichnissen referenzieren und so die Wiederverwendung von Code und Modularität in Go-Projekten ermöglichen.

Das obige ist der detaillierte Inhalt vonWie verweise ich auf Go-Module von außerhalb des GOPATH?. 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