Junior — Middle
Come determinare se l'esecuzione del contesto corrente è stata interrotta o annullata?
sobes.tech AI
Risposta dell'AI
In Go, per determinare se l'esecuzione del contesto corrente è stata interrotta o annullata, si utilizza il metodo Done() dell'oggetto context.Context. Questo metodo restituisce un canale che si chiude quando il contesto viene annullato. La verifica si effettua normalmente così:
select {
case <-ctx.Done():
// Il contesto è stato annullato o il timeout è scaduto
err := ctx.Err() // context.Canceled o context.DeadlineExceeded
// Gestione dell'annullamento
default:
// Continuare a lavorare
}
Quindi, se il canale ctx.Done() è chiuso, significa che l'esecuzione deve essere interrotta.