Junior — Middle
Como implementar a criação e transmissão de dados através de um canal no seu sistema?
sobes.tech IA
Resposta da IA
Em Go, para criar e transmitir dados através de um canal, utiliza-se o tipo incorporado chan. Os canais permitem trocar dados de forma segura entre goroutines.
Exemplo de criação e uso de um canal:
package main
import (
"fmt"
)
func main() {
// Criar um canal para transmitir inteiros
ch := make(chan int)
// Iniciar uma goroutine que envia dados para o canal
go func() {
ch <- 42 // enviar o número 42
close(ch) // fechar o canal após o envio
}()
// Receber dados do canal
for val := range ch {
fmt.Println("Valor recebido:", val)
}
}
Aqui:
make(chan int)cria um canal para transmitirint.- O operador
<-é usado para enviar (ch <- 42) e receber (val := <-ch) dados. - Fechar o canal (
close(ch)) indica que não haverá mais dados. - O ciclo
for rangelê do canal até que ele seja fechado.
Dessa forma, os canais garantem sincronização e transmissão de dados entre threads de execução paralelos.