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.