Junior — Middle
Qual é o propósito do método Done no contexto do desenvolvimento de software?
sobes.tech IA
Resposta da IA
No Go, o método Done geralmente está associado ao contexto (context.Context) e é usado para sinalizar a conclusão de uma operação ou cancelamento. Quando chamado, ele retorna um canal que é fechado quando a operação deve ser interrompida (por exemplo, devido a um timeout ou cancelamento). Isso permite que as goroutines escutem esse canal e terminem corretamente.
Exemplo de uso:
ctx, cancel := context.WithCancel(context.Background())
go func() {
select {
case <-ctx.Done():
fmt.Println("Operação cancelada")
return
// outros casos
}
}()
// em algum momento depois
cancel() // sinaliza o término
Assim, o método Done ajuda a gerenciar o tempo de vida das operações e a evitar vazamentos de recursos.