Sobes.tech
Junior — Middle

Jak można zakończyć pracę z kanałem w programie?

sobes.tech AI

Odpowiedź od AI

W Go, aby zakończyć pracę z kanałem, używa się funkcji close(). Zamknięcie kanału sygnalizuje odbiorcom, że nie będą już wysyłane nowe wartości. Po zamknięciu kanału próba wysłania do niego spowoduje panikę, ale odczyt z zamkniętego kanału jest możliwy — zwróci wartość zerową i false jako drugi parametr.

Przykład:

ch := make(chan int)
ngo func() {
    ch <- 42
    close(ch) // Zamykamy kanał po wysłaniu
}()

for val := range ch {
    fmt.Println(val) // Wypisze 42
}

Tak więc, aby zakończyć pracę z kanałem, należy wywołać close(channel).