Sobes.tech
Junior — Middle

Программалоодо каналдан маалыматтарды окууну кантип аяктоо керек?

sobes.tech AI

AIден жооп

Go тилинде, каналдан окууну аяктоо үчүн, адатта, close() функциясы аркылуу каналды жабуу колдонулат. Канал жабылганда, ага окуу аракетинде нөл мааниси жана false экинчи параметр катары кайтарылат, бул маалыматтын аяктоо белгилөө үчүн мүмкүндүк берет.

Мисал:

ch := make(chan int)
go func() {
    for i := 0; i < 5; i++ {
        ch <- i
    }
    close(ch) // маалыматтар бүттү деп белгилөө
}()

for val := range ch {
    fmt.Println(val) // канал жабылгандан кийин окуйт
}

Бул мисалда, for val := range ch цикли автоматтык түрдө токтойт, канал жабылганда жана бардык маалыматтар окулганда.