Junior — Middle
¿Cómo se realiza la interacción entre las goroutines en Go?
sobes.tech AI
Respuesta de la IA
En Go, la interacción entre goroutines se realiza mediante canales (channels). Los canales permiten transferir datos de manera segura entre goroutines y sincronizarlas.
Puntos clave:
- El canal se crea con
make(chan Tipo). - Enviar a un canal:
ch <- valor. - Recibir de un canal:
valor := <-ch. - Los canales pueden ser con búfer o sin búfer.
Ejemplo:
func main() {
ch := make(chan string)
go func() {
ch <- "hola desde la goroutine"
}()
msg := <-ch
fmt.Println(msg)
}
De esta manera, los canales proporcionan una interacción segura y conveniente entre goroutines paralelas sin necesidad de usar mutexes u otros mecanismos de bloqueo.