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ų.