小编eth*_*gao的帖子

go语言中的递归函数

几天前我开始学习语言.当我试着开始写一些有趣的代码时,我被一种奇怪的行为所困扰.

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,100打印出来.我相信我在这里滥用常规,但我无法理解为什么它以这种方式失败开始.

go

12
推荐指数
2
解决办法
4473
查看次数

标签 统计

go ×1