Sobes.tech
Junior — Middle

Hoe organiseer je gelijktijdig gegevens lezen uit meerdere kanalen?

sobes.tech AI

Antwoord van AI

In Go wordt de select-operator meestal gebruikt voor gelijktijdig lezen uit meerdere kanalen. Het stelt je in staat om op meerdere kanalen te wachten en te reageren op de eerste die beschikbaar wordt.

Voorbeeld:

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

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

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

Op deze manier maakt select het mogelijk om gegevens uit meerdere bronnen efficiënt te verwerken zonder blokkering.