Sobes.tech
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.