Senior
Qu'est-ce que le contexte en Go et à quoi sert-il?
sobes.tech IA
Réponse de l'IA
En Go, context est un paquet et un type utilisés pour transmettre des données et des signaux d’annulation entre goroutines et fonctions. Il est nécessaire pour gérer la durée de vie des opérations, notamment dans les requêtes réseau et les processus longs.
Les principales fonctionnalités de context :
- Annuler une opération (via
context.CancelFunc) pour interrompre le travail si nécessaire. - Transmettre des délais (temps jusqu’à ce que l’opération doit se terminer).
- Transmettre des valeurs (par exemple, des identifiants de requêtes) entre les fonctions.
Exemple d’utilisation :
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
select {
case <-time.After(time.Second * 10):
fmt.Println("opération terminée")
case <-ctx.Done():
fmt.Println("opération annulée ou délai écoulé")
}
Ainsi, context aide à contrôler et à coordonner l’exécution d’opérations asynchrones et longues.