Por que minha goroutine não é executada?
Estou aprendendo o Go e queria experimentar goroutines e canais.
Aqui está o meu código:
package main
import "fmt"
func main(){
messages := make(chan string,3)
messages <- "one"
messages <- "two"
messages <- "three"
go func(m *chan string) {
fmt.Println("Entering the goroutine...")
for {
fmt.Println(<- *m)
}
}(&messages)
fmt.Println("Done!")
}
E aqui está o resultado:
Done!
Não entendo por que minha goroutine nunca é executada. A mensagem "Digitando a goroutine" não é impressa e eu não tenho nenhuma mensagem de erro.