Junior — Middle
Bir neçə axın və ya kanal üzrə məlumatların eyni vaxtda oxunması necə həyata keçirilir?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində, eyni vaxtda bir neçə kanaldan oxumaq üçün select operatorundan istifadə olunur. Bu, bir neçə kanaldan məlumat gözləməyə və ilk mövcud 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 val := <-ch1:
fmt.Println("ch1-dən alınan:", val)
case val := <-ch2:
fmt.Println("ch2-dən alınan:", val)
}
Beləliklə, select bir kanalda məlumat olana qədər bloklanır və sonra uyğun hal icra olunur. Bu, çoxsaylı məlumat axınlarını eyni zamanda səmərəli idarə etməyə imkan verir.