Sobes.tech
Junior — Middle

De que maneiras a interação entre goroutines é realizada na linguagem de programação?

sobes.tech IA

Resposta da IA

Na linguagem Go, a interação entre goroutines geralmente é feita através de canais (channels). Os canais permitem transmitir dados de forma segura entre goroutines, garantindo sincronização e troca de mensagens.

Exemplo de uso de um canal:

package main

import (
    "fmt"
)

func worker(ch chan string) {
    ch <- "pronto"
}

func main() {
    ch := make(chan string)
    go worker(ch)
    msg := <-ch
    fmt.Println(msg)
}

Além dos canais, podem ser utilizados outros mecanismos de sincronização, como mutex do pacote sync, mas os canais são considerados a forma idiomática de comunicação entre goroutines em Go.