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.