Senior
Ką galima naudoti duomenų perdavimui tarp gorutinų?
sobes.tech AI
Atsakymas iš AI
Da perduoti duomenis tarp gorutinų Go kalboje, dažniausiai naudojami kanalai (channels). Kanalai užtikrina saugų sinchronizavimą ir duomenų perdavimą, leidžiant gorutinoms keistis reikšmėmis be aiškių užraktų.
Pavyzdys, kaip naudoti kanalą:
ch := make(chan int)
// Duomenų siuntimas gorutinėje
go func() {
ch <- 42
}()
// Duomenų gavimas
value := <-ch
fmt.Println(value) // 42
Be kanalų, galima naudoti bendrą atmintį su sinchronizacija per mutex iš paketų sync, tačiau kanalai laikomi idiomatiškesniu būdu Go kalboje.