Sobes.tech
Junior — Middle

Avez-vous utilisé le mécanisme WithCancel pour gérer l'annulation du contexte dans vos projets?

sobes.tech IA

Réponse de l'IA

Oui, le mécanisme WithCancel du paquet context en Go est souvent utilisé pour gérer l'annulation des opérations et des goroutines. Il permet de créer un contexte qui peut être annulé manuellement, ce qui est pratique pour interrompre des tâches longues ou asynchrones.

Exemple d'utilisation :

ctx, cancel := context.WithCancel(context.Background())

// Démarrer une goroutine qui écoute l'annulation
go func() {
    <-ctx.Done()
    fmt.Println("Opération annulée")
}()

// À un moment donné, appeler cancel()
cancel()

Cela permet de contrôler le cycle de vie des opérations et d'éviter les fuites de ressources.