Junior — Middle
¿Cuál es el propósito del método Done en el contexto del desarrollo de software?
sobes.tech AI
Respuesta de la IA
En Go, el método Done generalmente está asociado con el contexto (context.Context) y se usa para señalizar la finalización de una operación o su cancelación. Cuando se llama al método Done(), devuelve un canal que se cierra cuando la operación debe ser interrumpida (por ejemplo, debido a un tiempo de espera o cancelación). Esto permite que las goroutines escuchen ese canal y finalicen correctamente.
Ejemplo de uso:
ctx, cancel := context.WithCancel(context.Background())
go func() {
select {
case <-ctx.Done():
fmt.Println("Operación cancelada")
return
// otros casos
}
}()
// en algún momento después
cancel() // señaliza la finalización
De esta manera, el método Done ayuda a gestionar el tiempo de vida de las operaciones y a prevenir fugas de recursos.