Sobes.tech
Junior — Middle

Wie organisiert man das gleichzeitige Lesen von Daten aus mehreren Kanälen?

sobes.tech KI

Antwort von AI

Um in Go, um mehrere Kanäle gleichzeitig zu lesen, verwendet man in der Regel den Operator select. Dieser ermöglicht es, auf mehrere Kanäle gleichzeitig zu warten und auf den ersten zu reagieren, der verfügbar wird.

Beispiel:

ch1 := make(chan int)
ch2 := make(chan int)

go func() { ch1 <- 1 }()
go func() { ch2 <- 2 }()

select {
case msg1 := <-ch1:
    fmt.Println("Empfangen von ch1:", msg1)
case msg2 := <-ch2:
    fmt.Println("Empfangen von ch2:", msg2)
}

Auf diese Weise ermöglicht select eine effiziente Verarbeitung von Daten aus mehreren Quellen ohne Blockierung.