Frage:
Wie können Sie Hilfspakete in einem Go nutzen? Cloud-Funktionen und stellen gleichzeitig sicher, dass sie für mehrere Funktionen innerhalb desselben Projekts zugänglich sind (ohne sie zu veröffentlichen). öffentlich)?
Antwort:
Embracing Go Modules, das fortschrittliche Abhängigkeitsmanagementsystem von Go, bietet eine effektive Lösung für die Arbeit mit Unterpaketen. Mit Modulen können Sie außerhalb von GOPATH agieren und die Versionen Ihrer Abhängigkeiten präzise verwalten.
Entscheidend ist, dass Module die Definition von Go-Paketgruppen mit einem konsistenten Importpfad-Präfix ermöglichen. Innerhalb Ihrer Cloud-Funktion können Sie diese Funktion nutzen, um andere Pakete innerhalb Ihres Moduls zu importieren.
Es ist wichtig zu beachten, dass sich Ihre bereitgestellte Funktion im Stammverzeichnis Ihres Moduls befinden sollte. Betrachten Sie die folgende Dateistruktur als Beispiel:
. ├── cmd │ └── main.go # For testing purposes, can import and configure your function. ├── function.go # Imports "example.com/foo/helperpackage" ├── function_test.go ├── go.mod # Module "example.com/foo" └── helperpackage └── helper.go
In diesem Setup befindet sich Ihre Funktion in function.go und wird von function_test.go getestet. Diese Komponenten gehören zum Modul „example.com/foo“ und function.go kann „example.com/foo/helperpackage“ importieren.
Zusätzlich erleichtert ein cmd-Verzeichnis das lokale Testen. Durch den Import von „example.com/foo“ können Sie einen HTTP-Server initialisieren, der Anfragen mithilfe Ihres Funktionshandlers verarbeitet. Das folgende Codebeispiel veranschaulicht diesen Ansatz:
package main import ( "log" "net/http" "example.com/foo" ) func main() { http.Handle("/HelloHTTP", foo.HelloHTTP) log.Fatal(http.ListenAndServe(":8080", nil)) }
Während die Verwendung eines Anbieterverzeichnisses ein ähnliches Ergebnis erzielen kann, müssten Unterpakete einzeln in das Anbieterverzeichnis kopiert werden (unter Verwendung ihres vollständigen Importpfads). Wartung umständlich. Daher wird dieser Ansatz üblicherweise nicht für Unterpakete verwendet.
Das obige ist der detaillierte Inhalt vonWie teile ich Hilfspakete zwischen Go Cloud-Funktionen ohne öffentliche Veröffentlichung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!