几天前我开始学习语言.当我试着开始写一些有趣的代码时,我被一种奇怪的行为所困扰.
package main
import "fmt"
func recv(value int) {
if value < 0 {
return
}
fmt.Println(value)
go recv(value-1)
}
func main() {
recv(10)
}
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,只10打印.当我go在打电话之前删除时recv,10要0打印出来.我相信我在这里滥用常规,但我无法理解为什么它以这种方式失败开始.
go ×1