Sobes.tech
Senior

Mit lehet használni az adatok átadására goroutine-ok között?

sobes.tech MI

Válasz az MI-től

Az adatok átadásához goroutine-ok között Go-ban általában csatornákat (channels) használnak. A csatornák biztonságos szinkronizációt és adatátvitelt biztosítanak, lehetővé téve, hogy a goroutine-ok értékeket cseréljenek explicit blokkolások nélkül.

Példa csatorna használatára:

ch := make(chan int)

// Adatok küldése goroutine-ban
go func() {
    ch <- 42
}()

// Adatok fogadása
value := <-ch
fmt.Println(value) // 42

A csatornák mellett megosztott memória is használható szinkronizációval mutex segítségével a sync csomagból, de a csatornákat idiomatikusabb módszernek tekintik Go-ban.