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

  

分析流程如下:

 

 

 

 

  

 

posted @ 2019-01-04 17:14  努力哥  阅读(696)  评论(0编辑  收藏  举报