- 递归:自己调用自己
- 递归一定要有一个明确的出口
- 递归适合处理问题相同,问题的规模越来越小的场景(函数出口往往就是缩减到最小时的场景)
示例1:阶乘函数
func demo(n uint64) uint64 {
if (n - 1) == 0 {
return 1
}
return n * demo(n-1) // n! = n * (n-1)! ,所以可以用n * demo(n-1)表达式
}
func main()
示例1:阶乘函数
func demo(n uint64) uint64 {
if (n - 1) == 0 {
return 1
}
return n * demo(n-1) // n! = n * (n-1)! ,所以可以用n * demo(n-1)表达式
}
func main()