我有一个程序,我不想自动死掉,最有效的方法是使用一个接收通道,等待数据直到它被取消,但由于不好的原因,它在我的程序中不起作用机器。
这是我的示例代码:
package main
import (
"fmt"
)
var ch chan bool = make(chan bool, 0)
func main() {
fmt.Println("keep alive")
<-ch
}
这不起作用并返回一个错误,指出所有 goroutine 都在睡觉! 即使切换缓冲区大小也不起作用,我的错误在哪里?
为了清楚起见,我使用 Go 版本 1.18.5。