Sobes.tech
Senior

Was kann verwendet werden, um Daten zwischen Goroutinen zu übertragen?

sobes.tech KI

Antwort von AI

Um Daten zwischen Goroutinen in Go werden üblicherweise Kanäle (channels) verwendet. Kanäle gewährleisten eine sichere Synchronisation und Datenübertragung, sodass Goroutinen Werte ohne explizite Sperren austauschen können.

Beispiel für die Verwendung eines Kanals:

ch := make(chan int)

// Daten in einer Goroutine senden
go func() {
    ch <- 42
}()

// Daten empfangen
value := <-ch
fmt.Println(value) // 42

Neben Kanälen kann man auch gemeinsamen Speicher mit Synchronisation durch Mutex aus dem Paket sync verwenden, aber Kanäle gelten als idiomatischer Weg in Go.