Sobes.tech
Junior — Middle

Qual é o papel da bandeira ao tentar ler de um canal fechado numa linguagem de programação?

sobes.tech IA

Resposta da IA

Em Go, ao ler de um canal, a operação devolve dois valores: o próprio valor e uma bandeira booleana que indica se o canal está aberto.

Se o canal estiver fechado e todos os valores tiverem sido lidos, a leitura devolve o valor zero do tipo e false.

Exemplo:

value, ok := <-ch
if !ok {
    // O canal está fechado, não é possível continuar a leitura
}

Assim, a bandeira ok ajuda a determinar se a transmissão de dados pelo canal foi concluída e se deve parar a leitura.