我有這段代碼應該在程序退出前等待 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 關注
- 116 瀏覽
添加回答
舉報
0/150
提交
取消