Sobes.tech
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.