Sobes.tech
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.