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