Junior — Middle
Cuéntenos sobre su experiencia en el uso de canales para organizar la interacción entre componentes o hilos.
sobes.tech AI
Respuesta de la IA
En Go, los canales se utilizan para organizar un intercambio seguro de datos entre goroutines, lo que simplifica la sincronización y la comunicación.
Ejemplo de uso de un canal para transmitir datos entre dos goroutines:
package main
import (
"fmt"
"time"
)
func worker(ch chan string) {
msg := <-ch // recibir mensaje del canal
fmt.Println("Mensaje recibido:", msg)
}
func main() {
ch := make(chan string)
go worker(ch)
ch <- "¡Hola desde main!" // enviar mensaje al canal
time.Sleep(time.Second) // esperar a que termine la goroutine
}
Los canales ayudan a evitar condiciones de carrera y hacen que el código sea más legible y mantenible al trabajar con concurrencia.