Junior — Middle
Бағдарламада арнаны қалай жабуға болады?
sobes.tech AI
AI-дан жауап
Go тілінде арнамен жұмыс істеуді аяқтау үшін close() функциясы пайдаланылады. Арнаны жабу алушыларға одан әрі жаңа мәндер жіберілмейтінін сигналдайды. Арна жабылғаннан кейін оған мән жіберу паникаға әкеледі, бірақ жабылған арнадан оқу мүмкін — ол нөлдік мәнді және екінші қайтарылатын параметр ретінде false қайтарады.
Мысал:
ch := make(chan int)
go func() {
ch <- 42
close(ch) // Жіберуден кейін арнаны жабамыз
}()
for val := range ch {
fmt.Println(val) // 42 шығарады
}
Осылайша, арнамен жұмыс істеуді аяқтау үшін close(channel) шақыру керек.