брось: все горутины спят - тупик

Учитывая следующую простую программу Go

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)
}

Мне интересно, если кто-то может просветить меня, почему я получаю

throw: all goroutines are asleep - deadlock!

благодарю вас

Ответы на вопрос(2)

Ваш ответ на вопрос