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