Junior — Middle
Ați folosit mecanismul WithCancel pentru a gestiona anularea contextului în proiectele dvs.?
sobes.tech AI
Răspuns de la AI
Da, mecanismul WithCancel din pachetul context în Go este adesea folosit pentru a gestiona anularea operațiunilor și goroutine-urilor. Permite crearea unui context care poate fi anulat manual, ceea ce este util pentru întreruperea sarcinilor lungi sau asincrone.
Exemplu de utilizare:
ctx, cancel := context.WithCancel(context.Background())
// Începem o goroutine care ascultă pentru anulare
go func() {
<-ctx.Done()
fmt.Println("Operație anulată")
}()
// La un moment dat, apelăm cancel()
cancel()
Acest lucru permite controlul ciclului de viață al operațiunilor și prevenirea scurgerilor de resurse.