Sobes.tech
Junior — Middle

Hoe wordt de interactie tussen goroutines in Go uitgevoerd?

sobes.tech AI

Antwoord van AI

In Go wordt de interactie tussen goroutines uitgevoerd via kanalen (channels). Kanalen maken het veilig overdragen van gegevens tussen goroutines mogelijk en synchroniseren ze.

Belangrijke punten:

  • Het kanaal wordt gemaakt met make(chan Type).
  • Verzenden naar kanaal: ch <- waarde.
  • Ontvangen van kanaal: waarde := <-ch.
  • Kanalen kunnen gebufferd of niet-gebufferd zijn.

Voorbeeld:

func main() {
    ch := make(chan string)

    go func() {
        ch <- "hallo vanuit de goroutine"
    }()

    msg := <-ch
    fmt.Println(msg)
}

Op deze manier zorgen kanalen voor een veilige en handige interactie tussen parallelle goroutines zonder dat mutexen of andere blokkeringmechanismen nodig zijn.