Senior
O que pode ser usado para transmitir dados entre goroutines?
sobes.tech IA
Resposta da IA
Para transmitir dados entre goroutines em Go, normalmente usam-se canais (channels). Os canais fornecem sincronização segura e transmissão de dados, permitindo que as goroutines troquem valores sem bloqueios explícitos.
Exemplo de uso de um canal:
ch := make(chan int)
// Enviar dados numa goroutine
go func() {
ch <- 42
}()
// Receber dados
value := <-ch
fmt.Println(value) // 42
Além dos canais, pode-se usar memória partilhada com sincronização através de mutex do pacote sync, mas os canais são considerados uma forma mais idiomática em Go.