Sobes.tech
Junior — Middle

Ինչպե՞ս կարելի է ավարտել աշխատանքը ալիքի հետ ծրագրում։

sobes.tech AI

Պատասխան AI-ից

Go լեզվում, ալիքի հետ աշխատանքը ավարտելու համար օգտագործվում է close() ֆունկցիան: Ալիքի փակումը նշում է ստացողներին, որ այլևս նոր արժեքներ չեն ուղարկվելու: Ալիքը փակելուց հետո, դրա մեջ ուղարկելու փորձը կհանգեցնի panic-ի, բայց փակված ալիքից ընթերցումը հնարավոր է — այն կվերադարձնի զրո արժեք և false երկրորդ վերադարձվող պարամետրում:

Օրինակ՝

ch := make(chan int)
ngo func() {
    ch <- 42
    close(ch) // Փակում ենք ալիքը ուղարկումից հետո
}()

for val := range ch {
    fmt.Println(val) // Տպում է 42
}

Այսպիսով, ալիքի հետ աշխատանքը ավարտելու համար անհրաժեշտ է կանչել close(channel)։