Junior — Middle
Bir neçə kanaldan eyni vaxtda məlumatların oxunmasını necə təşkil etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində eyni vaxtda bir neçə kanaldan oxumaq üçün adətən select operatoru istifadə olunur. Bu, bir neçə kanaldan eyni zamanda gözləməyə və ilk əlçatan olanına reaksiya verməyə imkan verir.
Nümunə:
ch1 := make(chan int)
ch2 := make(chan int)
go func() { ch1 <- 1 }()
go func() { ch2 <- 2 }()
select {
case msg1 := <-ch1:
fmt.Println("ch1-dən alınmış:", msg1)
case msg2 := <-ch2:
fmt.Println("ch2-dən alınmış:", msg2)
}
Beləliklə, select çoxsaylı mənbələrdən məlumatları bloklamadan səmərəli işləməyə imkan verir.