Senior
Šta se može koristiti za prenos podataka između gorutina?
sobes.tech АИ
Одговор од АИ
Za prenos podataka između gorutina u Go-u obično se koriste kanali (channels). Kanali obezbeđuju sigurnu sinhronizaciju i prenos podataka, omogućavajući gorutinama razmenu vrednosti bez eksplicitnih blokada.
Primer korišćenja kanala:
ch := make(chan int)
// Slanje podataka u gorutini
go func() {
ch <- 42
}()
// Prijem podataka
value := <-ch
fmt.Println(value) // 42
Pored kanala, može se koristiti zajednička memorija sa sinhronizacijom putem mutexa iz paketa sync, ali se kanali smatraju idiomatičnijim načinom u Go-u.