Junior — Middle
Cum se poate încheia lucrul cu un canal în program?
sobes.tech AI
Răspuns de la AI
În Go, pentru a încheia lucrul cu un canal, se folosește funcția close(). Închiderea unui canal semnalează receptorilor că nu vor mai fi trimise valori noi. După închiderea canalului, încercarea de a trimite în el va provoca o panică, dar citirea dintr-un canal închis este posibilă — va returna o valoare zero și false ca al doilea parametru.
Exemplu:
ch := make(chan int)
go func() {
ch <- 42
close(ch) // Închidem canalul după trimitere
}()
for val := range ch {
fmt.Println(val) // Va afișa 42
}
Prin urmare, pentru a încheia lucrul cu un canal, trebuie apelată close(channel).