Strukturieren von Unterpaketen für Go in Google Cloud Functions
Die Bereitstellung von Go Cloud Functions erfordert häufig die gemeinsame Nutzung von Hilfslogik über mehrere Funktionen hinweg. Um dies zu optimieren, können Unterpakete verwendet werden, um gemeinsam genutzten Code innerhalb desselben Projekts zu organisieren.
Lösung: Go-Module und Unterpakete
Go-Module bieten ein Abhängigkeitsmanagementsystem, das dies ermöglicht die Definition von Paketen unter einem gemeinsamen Importpfad-Präfix. Dadurch können Funktionen innerhalb eines Moduls über den importierten Pfad auf Unterpakete zugreifen.
Dateistruktur:
Hier ist eine Beispieldateistruktur für die Referenzierung von Unterpaketen innerhalb einer Cloud-Funktion:
. ├── cmd │ └── main.go # Testing/debugging entry point ├── function.go # Imports and uses example.com/foo/helperpackage ├── function_test.go ├── go.mod # Module: example.com/foo └── helperpackage └── helper.go
Importieren Unterpakete:
In function.go kann das Hilfspaket importiert werden mit:
import example.com/foo/helperpackage
Testen:
Ein cmd-Verzeichnis kann für lokale Tests verwendet werden. Die Hauptfunktion kann example.com/foo importieren und die Funktion als HTTP-Handler registrieren:
package main import ( "log" "net/http" "example.com/foo" ) func main() { http.Handle("/HelloHTTP", foo.HelloHTTP) log.Fatal(http.ListenAndServe(":8080", nil)) }
Alternativer Ansatz (nicht empfohlen):
Verwendung eines Anbieters Das Verzeichnis kann auch für die gemeinsame Nutzung von Unterpaketen verwendet werden, erfordert jedoch das Kopieren aller importierten Pakete mit ihren vollständigen Importpfaden in das Verzeichnis, was umständlich sein kann und entmutigt.
Das obige ist der detaillierte Inhalt vonWie kann ich Unterpakete für Go-Code in Google Cloud Functions effektiv strukturieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!