Senior
As-tu utilisé des contextes en pratique ? Raconte-moi.
sobes.tech IA
Réponse de l'IA
Oui, j'ai utilisé régulièrement les contextes en Go, notamment pour gérer le temps d'exécution et l'annulation des opérations dans les requêtes réseau et les goroutines. Le contexte permet de transmettre des signaux d'annulation et des délais via la chaîne d'appels, ce qui aide à éviter les fuites de goroutines et à contrôler le temps d'exécution.
Exemple d'utilisation :
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
select {
case <-time.After(3 * time.Second):
fmt.Println("opération terminée")
case <-ctx.Done():
fmt.Println("opération annulée ou expirée")
}
Ainsi, si l'opération prend plus de 2 secondes, elle sera interrompue, ce qui améliore la robustesse et la réactivité de l'application.