Sobes.tech
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.