Senior
Qual entità viene utilizzata per trasmettere dati tra le goroutine?
sobes.tech AI
Risposta dell'AI
In Go, per trasmettere dati tra goroutine si utilizza un'entità chiamata canale (channel). I canali consentono di scambiare dati in modo sicuro, sincronizzando l'esecuzione delle goroutine.
Esempio di utilizzo di un canale:
ch := make(chan int) // crea un canale per trasmettere int
go func() {
ch <- 42 // invia un valore nel canale
}()
valore := <-ch // riceve il valore dal canale
fmt.Println(valore) // stamperà 42
I canali possono essere con buffer e non sicuri, permettendo di gestire in modo flessibile la sincronizzazione e lo scambio di dati tra goroutine.