Sobes.tech
Junior — Middle

Dasturlashda kanal orqali ma'lumotlarni o'qishni qanday yakunlash mumkin?

sobes.tech AI

AIdan javob

Go tilida, kanaldan o'qishni yakunlash uchun odatda close() funksiyasi yordamida kanal yopiladi. Kanal yopilganida, unga o'qish urinishida nol qiymat va false ikkinchi parametr sifatida qaytariladi, bu esa ma'lumotlarning oxirini aniqlash imkonini beradi.

Misol:

ch := make(chan int)
go func() {
    for i := 0; i < 5; i++ {
        ch <- i
    }
    close(ch) // ma'lumotlar tugaganini signal qilamiz
}()

for val := range ch {
    fmt.Println(val) // kanal yopilguncha o'qiydi
}

Ushbu misolda, for val := range ch sikli avtomatik ravishda, kanal yopilgan va barcha ma'lumotlar o'qilganida tugaydi.