Sobes.tech
Junior — Middle

Como determinar se a execução do contexto atual foi interrompida ou cancelada?

sobes.tech IA

Resposta da IA

Em Go, para determinar se a execução do contexto atual foi interrompida ou cancelada, usa-se o método Done() do objeto context.Context. Este método devolve um canal que é fechado quando o contexto é cancelado. Normalmente, a verificação é feita assim:

select {
case <-ctx.Done():
    // O contexto foi cancelado ou o tempo limite foi atingido
    err := ctx.Err() // context.Canceled ou context.DeadlineExceeded
    // Processar cancelamento
default:
    // Continuar a trabalhar
}

Assim, se o canal ctx.Done() estiver fechado, significa que a execução deve ser interrompida.