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

  

分析流程如下:

  

原文地址:https://www.cnblogs.com/nulige/p/10221052.html