Junior — Middle
Birden fazla akış veya kanaldan verilerin aynı anda nasıl okunur?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde, aynı anda birkaç kanaldan okuma yapmak için select operatörü kullanılır. Bu, birkaç kanaldan veri beklemeye ve ilk erişilebilir olana tepki vermeye olanak tanır.
Örnek:
ch1 := make(chan int)
ch2 := make(chan int)
go func() { ch1 <- 1 }()
go func() { ch2 <- 2 }()
select {
case val := <-ch1:
fmt.Println("ch1'den alınan:", val)
case val := <-ch2:
fmt.Println("ch2'den alınan:", val)
}
Bu şekilde, select bir kanalda veri olana kadar bloke olur ve ardından uygun durumu çalıştırır. Bu, birden fazla veri akışını aynı anda verimli bir şekilde işlemenize olanak tanır.