首页> 基础笔记 >GoLang基础学习 >函数 函数

Golang函数的递归调用

作者:小萝卜 2023-04-03 浏览 194

简介一个函数在函数体内又调用了本身,我们称为递归调用

基本介绍

一个函数在函数体内又调用了本身,我们称为递归调用

递归调用快速入门

代码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)

文章评论

    高端网站建设