go语言基础之递归函数的调用流程
一、递归函数的调用流程
package main //必须
import "fmt"
func test(a int) {
if a == 1 { //函数终止调用的条件,非常重要
fmt.Println("a = ", a)
return //终止函数调用
}
//函数调用自身
test(a - 1)
fmt.Println("a = ", a)
}
func main() {
test(3)
fmt.Println("main")
}
执行结果:
a = 1 a = 2 a = 3 main
分析流程如下: