首页> 基础笔记 >GoLang基础学习 >函数 函数
Golang函数的递归调用
作者:小萝卜 2023-04-03 【 GoLang 】 浏览 429
简介一个函数在函数体内又调用了本身,我们称为递归调用
基本介绍
一个函数在函数体内又调用了本身,我们称为递归调用
递归调用快速入门
代码1:
package main
import (
"fmt"
)
func aa(n int) {
if n > 2 {
n--
aa(n)
}
fmt.Println("n=", n)
}
func main() {
aa(4) // 输出 2 2 3
}
上面代码的分析图:
代码2:
package main
import (
"fmt"
)
func bb(n int) {
if n > 2 {
n--
bb(n)
} else {
fmt.Println("n=", n)
}
}
func main() {
bb(4) //输出2
}
对上面代码分析的示意图:
递归调用的总结
函数递归需要遵守的重要原则:
1)执行一个函数时,就创建一个新的受保护的独立空间(新函数栈)
2)函数的局部变量是独立的,不会相互影响
3)递归必须向退出递归的条件逼近,否则就是无限递归,死龟了:)
4)当一个函数执行完毕,或者遇到 return,就会返回,遵守谁调用,就将结果返回给谁,同时当函数执行完毕或者返回时,该函数本身也会被系统销毁
很赞哦! (0)