Senior
Czego można użyć do przesyłania danych między gorutynami?
sobes.tech AI
Odpowiedź od AI
Aby przesłać dane między gorutynami w Go, zwykle używa się kanałów (channels). Kanały zapewniają bezpieczną synchronizację i przesyłanie danych, umożliwiając gorutynom wymianę wartości bez jawnych blokad.
Przykład użycia kanału:
ch := make(chan int)
// Wysyłanie danych w goroutine
go func() {
ch <- 42
}()
// Odbieranie danych
value := <-ch
fmt.Println(value) // 42
Oprócz kanałów, można używać wspólnej pamięci z synchronizacją za pomocą mutexa z pakietu sync, ale kanały są uważane za bardziej idiomatyczny sposób w Go.