Junior — Middle
Hai utilizzato il meccanismo WithCancel per gestire l'annullamento del contesto nei tuoi progetti?
sobes.tech AI
Risposta dell'AI
Sì, il meccanismo WithCancel del pacchetto context in Go viene spesso utilizzato per gestire l'annullamento di operazioni e goroutine. Permette di creare un contesto che può essere annullato manualmente, utile per interrompere compiti lunghi o asincroni.
Esempio di utilizzo:
ctx, cancel := context.WithCancel(context.Background())
// Avvia una goroutine che ascolta l'annullamento
go func() {
<-ctx.Done()
fmt.Println("Operazione annullata")
}()
// In qualche momento, si chiama cancel()
cancel()
Questo permette di controllare il ciclo di vita delle operazioni e prevenire perdite di risorse.