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