Sobes.tech
Junior — Middle

Como deve passar um canal para uma goroutine em execução em Go?

sobes.tech IA

Resposta da IA

O canal em Go geralmente é passado para uma goroutine como um parâmetro de função para evitar o uso de variáveis globais e melhorar a legibilidade do código. Por exemplo:

func worker(ch chan int) {
    for val := range ch {
        fmt.Println(val)
    }
}

func main() {
    ch := make(chan int)
    go worker(ch)
    ch <- 1
    ch <- 2
    close(ch)
}

Essa abordagem permite ver claramente quais canais são usados na goroutine.