Sobes.tech
Junior — Middle

Como pode terminar o trabalho com um canal no programa?

sobes.tech IA

Resposta da IA

Em Go, para terminar o trabalho com um canal, usa-se a função close(). Fechar um canal sinaliza aos receptores que não serão enviados mais valores novos. Após fechar o canal, tentar enviá-lo causará um pânico, mas é possível ler de um canal fechado — ele retornará um valor zero e false na segunda variável de retorno.

Exemplo:

ch := make(chan int)
ngo func() {
    ch <- 42
    close(ch) // Fecha o canal após enviar
}()

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

Assim, para finalizar o trabalho com um canal, deve-se chamar close(channel).