package main
import (
"fmt"
)
var waitFunc chan int
func GetMultiple() {
for i := 1; i < 10; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d*%d=%d", j, i, i*j)
fmt.Printf("\t")
}
fmt.Println()
}
<-waitFunc
}
func main() {
go GetMultiple()
waitFunc <- 1
fmt.Println("end")
}
运行结果是,上面的乘法表打印出来了,但是后面提示fatal error: all goroutines are asleep - deadlock!。
“end”没有打印出来,也就是说饿死了,但是没发现问题,求助一番
更多评论
这写的啥玩意儿。。。敢不敢好好的把代码贴好,弄了个四不像。你这问题就是声明了一个 channel,但是没有初始化,你要这么做, var ch chan int = make(chan int)
#1