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