我有这段代码应该在程序退出前等待 10 秒,但它只有在我之后为它添加某种打印内容时才有效。这是为什么?我希望它等待 10 秒,而不必取消对该打印语句的注释。func main() { forever := make(chan bool) go func() { fmt.Println("why") time.Sleep(10*time.Second) //fmt.Println("here") forever <- false }() fmt.Println("forever") <- forever}这也有效:func main() { forever := make(chan bool) go func() { fmt.Println("why") time.Sleep(10*time.Second) forever <- false }() fmt.Println(<- forever)}以下程序在 Go playground 中运行时不会等待 10 秒:package mainimport ( "time")func main() { forever := make(chan bool) go func() { time.Sleep(10 * time.Second) forever <- false }() <-forever}
- 1 回答
- 0 关注
- 82 浏览
添加回答
举报
0/150
提交
取消