接前面java写的递归例子,还是计算一个数递减相乘。
func test01(n int) int {
result := 0
if n <= 1 {
return 1
} else {
result = test01(n-1) * n
return result
}
}
执行一个函数时,就创建一个新的受保护的独立控件(新的函数栈)
函数的局部变量时独立的,不会相互影响
递归必须向推出的递归条件逼近,否则就是无限递归。
当一个函数执行完毕,或者遇到return,就会返回,遵守谁调用,就将结果返回给谁,同时当函数执行完毕或者返回时,该函数本身也会被系统销毁。