Senior
Co lze použít k přenosu dat mezi gorutinami?
sobes.tech AI
Odpověď od AI
Pro přenos dat mezi gorutinami v Go se obvykle používají kanály (channels). Kanály zajišťují bezpečnou synchronizaci a přenos dat, což umožňuje gorutinám vyměňovat si hodnoty bez explicitního blokování.
Příklad použití kanálu:
ch := make(chan int)
// Odeslání dat v gorutině
go func() {
ch <- 42
}()
// Přijímání dat
value := <-ch
fmt.Println(value) // 42
Kromě kanálů lze použít sdílenou paměť s synchronizací přes mutex z balíčku sync, ale kanály jsou považovány za idiomatickejší způsob v Go.