Senior
Qual entidade é usada para transmitir dados entre goroutines?
sobes.tech IA
Resposta da IA
No Go, para transmitir dados entre goroutines, utiliza-se uma entidade chamada canal (channel). Os canais permitem trocar dados de forma segura, sincronizando a execução das goroutines.
Exemplo de uso de canal:
ch := make(chan int) // criar um canal para transmitir int
go func() {
ch <- 42 // enviar valor ao canal
}()
valor := <-ch // receber valor do canal
fmt.Println(valor) // irá mostrar 42
Canais podem ser com buffer e inseguros, permitindo uma gestão flexível da sincronização e troca de dados entre goroutines.