Sobes.tech
Junior — Middle

Чӣ гуна метавон кор бо каналро дар барнома ба анҷом расонд?

sobes.tech AI

Ҷавоб аз AI

Дар Go барои анҷом додани кор бо канал функсияи close() истифода мешавад. Баста кардани канал сигнал медиҳад ба қабулкунандагон, ки дигар арзишҳои нав фиристода намешаванд. Пас аз баста шудани канал, кӯшиши фиристодан ба он паникаро ба вуҷуд меорад, аммо хондан аз канали баста мумкин аст — он арзиши сифр ва false дар дуввумин параметри баргардонро бармегардонад.

Масалан:

ch := make(chan int)
ngo func() {
    ch <- 42
    close(ch) // Баста кардани канал пас аз фиристодан
}()

for val := range ch {
    fmt.Println(val) // 42-ро чоп мекунад
}

Бинобар ин, барои анҷом додани кор бо канал, бояд close(channel) даъват кард.