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