我正在尝试创建一个简单的程序来学习 Go 中的频道。但是我遇到了一个死锁错误,我无法弄清楚
package main
import (
"fmt"
"time"
)
func printer(c chan int) {
for i := 0; i < 10; i++ {
c <- i
time.Sleep(time.Second)
}
}
func reciever(c chan int) {
for {
recievedMsg := <-c
fmt.Println(recievedMsg)
}
}
func main() {
newChanel := make(chan int)
printer(newChanel)
reciever(newChanel)
}
我最初的想法是关于睡眠功能,但即使我不包括这个,我仍然会遇到这个错误并退出消息。任何人都可以就如何解决这个问题提供一些提示吗?
提前致谢