Middle
¿Alguna vez has tenido que trabajar con asincronía?
sobes.tech AI
Respuesta de la IA
Sí, trabajar con asincronía es una práctica común, especialmente al procesar datos y al interactuar con servicios externos. En Go, se utilizan goroutines y canales para realizar tareas en paralelo y gestionar eficientemente los flujos de datos.
Ejemplo de procesamiento asíncrono con goroutines y canales:
func processData(data []int, results chan<- int) {
for _, v := range data {
// simulación de procesamiento
results <- v * 2
}
close(results)
}
func main() {
data := []int{1, 2, 3, 4, 5}
results := make(chan int)
go processData(data, results)
for res := range results {
fmt.Println("Procesado:", res)
}
}
La asincronía ayuda a no bloquear el hilo principal y mejora el rendimiento al trabajar con grandes volúmenes de datos o solicitudes de red.