Structuration des sous-packages pour Go sur Google Cloud Functions
Le déploiement de Go Cloud Functions nécessite souvent le partage de la logique d'assistance entre plusieurs fonctions. Pour optimiser cela, des sous-packages peuvent être utilisés pour organiser le code partagé au sein du même projet.
Solution : modules et sous-packages Go
Les modules Go fournissent un système de gestion des dépendances qui permet la définition des packages sous un préfixe de chemin d'importation commun. Cela permet aux fonctions d'un module d'accéder aux sous-packages en utilisant le chemin importé.
Structure des fichiers :
Voici un exemple de structure de fichiers pour référencer des sous-packages dans une fonction Cloud :
. ├── 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
Importation de sous-packages :
Dans function.go, le package d'assistance peut être importé en utilisant :
import example.com/foo/helperpackage
Test :
Un répertoire cmd peut être utilisé pour les tests locaux. La fonction principale peut importer example.com/foo et enregistrer la fonction en tant que gestionnaire HTTP :
package main import ( "log" "net/http" "example.com/foo" ) func main() { http.Handle("/HelloHTTP", foo.HelloHTTP) log.Fatal(http.ListenAndServe(":8080", nil)) }
Approche alternative (non recommandée) :
Utiliser un fournisseur Le répertoire peut également être utilisé pour le partage de sous-packages, mais cela nécessite de copier tous les packages importés dans le répertoire avec leurs chemins d'importation complets, ce qui peut être fastidieux et découragé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!