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)։