Maison > développement back-end > Golang > Comment puis-je structurer efficacement les sous-packages pour Go Code dans Google Cloud Functions ?

Comment puis-je structurer efficacement les sous-packages pour Go Code dans Google Cloud Functions ?

Patricia Arquette
Libérer: 2024-12-18 05:30:18
original
669 Les gens l'ont consulté

How Can I Effectively Structure Subpackages for Go Code in Google Cloud Functions?

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
Copier après la connexion

Importation de sous-packages :

Dans function.go, le package d'assistance peut être importé en utilisant :

import example.com/foo/helperpackage
Copier après la connexion

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))
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal