Sobes.tech
Senior

Kokia sąvoka naudojama duomenų perdavimui tarp gorutinų?

sobes.tech AI

Atsakymas iš AI

Go kalboje duomenų perdavimui tarp gorutinių naudojama objektas, vadinamas kanalu (channel). Kanalai leidžia saugiai keistis duomenimis, sinchronizuodami gorutinių vykdymą.

Pavyzdys, kaip naudoti kanalą:

ch := make(chan int) // kuriame kanalą int perdavimui

go func() {
    ch <- 42 // siunčiame reikšmę į kanalą
}()

reikšmė := <-ch // gauname reikšmę iš kanalo
fmt.Println(reikšmė) // išves 42

Kanalai gali būti su buferiu ir nesaugūs, kas leidžia lankstesnį sinchronizacijos ir duomenų keitimo valdymą tarp gorutinių.