Sobes.tech
Junior — Middle

Wie erfolgt die Interaktion zwischen Goroutinen in Go?

sobes.tech KI

Antwort von AI

In Go erfolgt die Interaktion zwischen Goroutines mithilfe von Kanälen (channels). Kanäle ermöglichen eine sichere Datenübertragung zwischen Goroutines und deren Synchronisation.

Wichtige Punkte:

  • Der Kanal wird mit make(chan Typ) erstellt.
  • Senden in den Kanal: ch <- wert.
  • Empfang aus dem Kanal: wert := <-ch.
  • Kanäle können gepuffert oder ungepuffert sein.

Beispiel:

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

    go func() {
        ch <- "Hallo aus der Goroutine"
    }()

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

Auf diese Weise bieten Kanäle eine sichere und bequeme Interaktion zwischen parallelen Goroutines, ohne Mutexes oder andere Sperrmechanismen verwenden zu müssen.