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 автоматӣ ба охир мерасад, вақте ки канал пӯшида мешавад ва ҳамаи маълумотҳо хонда мешаванд.