Junior — Middle
Birden fazla kanaldan eşzamanlı veri okuma nasıl organize edilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde aynı anda birkaç kanaldan okuma yapmak için genellikle select operatörü kullanılır. Bu, birkaç kanaldan aynı anda beklemeye ve ilk erişilebilir olanına tepki vermeye olanak tanır.
Örnek:
ch1 := make(chan int)
ch2 := make(chan int)
go func() { ch1 <- 1 }()
go func() { ch2 <- 2 }()
select {
case msg1 := <-ch1:
fmt.Println("ch1'den alındı:", msg1)
case msg2 := <-ch2:
fmt.Println("ch2'den alındı:", msg2)
}
Bu şekilde, select birden fazla kaynaktan gelen verileri bloklamadan verimli bir şekilde işleme olanağı sağlar.