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