throw: todas as goroutines estão dormindo - deadlock
Dado o seguinte programa Go simples
package main
import (
"fmt"
)
func total(ch chan int) {
res := 0
for iter := range ch {
res += iter
}
ch <- res
}
func main() {
ch := make(chan int)
go total(ch)
ch <- 1
ch <- 2
ch <- 3
fmt.Println("Total is ", <-ch)
}
Eu estou querendo saber se alguém pode me esclarecer por que eu recebo
throw: all goroutines are asleep - deadlock!
obrigado