Sobes.tech
Junior — Middle

Ar galima naudoti Range konstrukciją kuriant kanalus programavimo kalboje?

sobes.tech AI

Atsakymas iš AI

Go kalboje range konstrukcija dažnai naudojama iteracijai per kanalus, leidžianti gauti reikšmes iš kanalo iki jo uždarymo.

Pavyzdys, kaip naudoti range su kanalu:

ch := make(chan int)
func() {
    for i := 0; i < 5; i++ {
        ch <- i
    }
    close(ch)
}()

for val := range ch {
    fmt.Println(val)
}

Čia range naudojamas skaityti iš kanalo ch iki jo uždarymo. Taip, range konstrukcija neužima kanalų, o leidžia patogiai iš jų skaityti.