Senior
Ce se poate folosi pentru a transmite date între goroutines?
sobes.tech AI
Răspuns de la AI
Pentru transmiterea datelor între goroutines în Go, se folosesc de obicei canale (channels). Canalele asigură o sincronizare sigură și transmiterea datelor, permițând goroutine-urilor să schimbe valori fără blocări explicite.
Exemplu de utilizare a unui canal:
ch := make(chan int)
// Trimiterea datelor într-o goroutine
go func() {
ch <- 42
}()
// Primirea datelor
value := <-ch
fmt.Println(value) // 42
Pe lângă canale, se poate folosi memoria partajată cu sincronizare prin mutex din pachetul sync, dar canalele sunt considerate o metodă mai idiomatică în Go.