Introdução
Neste desafio, você criará um programa em Go que demonstra o poder dos canais ao construir um pipeline simples de processamento de dados que transfere números inteiros entre goroutines. Você precisará criar um canal com buffer, gravar os números de 1 a 5 no canal e, em seguida, ler e imprimir cada número do canal na ordem em que foram gravados.
Construir um Pipeline de Dados Simples com Canais
Neste desafio, você desenvolverá um programa em Go para explorar a funcionalidade dos canais, criando um fluxo de processamento de dados que movimenta inteiros entre diferentes partes do código.
Tarefas
- Criar um canal de inteiros com buffer e capacidade para 5 elementos
- Gravar os números 1, 2, 3, 4 e 5 dentro do canal
- Ler e imprimir cada número do canal respeitando a ordem de gravação
Requisitos
- Utilize o arquivo
~/project/data_pipeline.go - Crie o canal com buffer usando a instrução
make(chan int, 5) - Utilize o operador de envio de canal
<-para gravar os números - Utilize o operador de recebimento de canal
<-para ler os números - Imprima cada número utilizando
fmt.Println() - Certifique-se de que todos os números sejam gravados e lidos completamente
Exemplos
Execute o programa:
go run data_pipeline.go
Saída esperada:
1
2
3
4
5
Dicas
- Lembre-se de usar
ch <- valuepara enviar valores ao canal - Use
value := <-chpara receber valores do canal - Canais com buffer permitem o envio de múltiplos valores antes de causar um bloqueio na execução
- Se necessário, feche o canal após gravar todos os valores
Resumo
Em resumo, este desafio exigiu a criação de um programa em Go que utiliza canais para construir um pipeline simples de processamento de dados. Você aprendeu a instanciar um canal com buffer, enviar os números de 1 a 5 para ele e, posteriormente, realizar a leitura e impressão desses valores mantendo a ordem original.



