Junior — Middle
W jaki sposób odbywa się interakcja między goroutines w języku programowania?
sobes.tech AI
Odpowiedź od AI
W języku Go interakcja między gorutynami zazwyczaj odbywa się za pomocą kanałów (channels). Kanały umożliwiają bezpieczne przesyłanie danych między gorutynami, zapewniając synchronizację i wymianę wiadomości.
Przykład użycia kanału:
package main
import (
"fmt"
)
func worker(ch chan string) {
ch <- "gotowe"
}
func main() {
ch := make(chan string)
go worker(ch)
msg := <-ch
fmt.Println(msg)
}
Oprócz kanałów można używać innych mechanizmów synchronizacji, np. mutex z pakietu sync, ale kanały są uważane za idiomatyczny sposób komunikacji między gorutynami w Go.