Senior
Cosa si può usare per trasmettere dati tra le goroutine?
sobes.tech AI
Risposta dell'AI
Per trasmettere dati tra goroutine in Go, si utilizzano generalmente i canali (channels). I canali garantiscono una sincronizzazione sicura e la trasmissione di dati, permettendo alle goroutine di scambiare valori senza blocchi espliciti.
Esempio di utilizzo di un canale:
ch := make(chan int)
// Invio di dati in una goroutine
go func() {
ch <- 42
}()
// Ricezione di dati
value := <-ch
fmt.Println(value) // 42
Oltre ai canali, si può usare la memoria condivisa con sincronizzazione tramite mutex del pacchetto sync, ma i canali sono considerati un modo più idiomatico in Go.