Go语言之递归函数

Posted heych

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言之递归函数相关的知识,希望对你有一定的参考价值。

Go 语言递归函数

递归,就是在运行的过程中调用自己。

Go 语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。

递归函数对于解决数学上的问题是非常有用的,就像计算阶乘,生成斐波那契数列等。

package main

import "fmt"

func factorial(n uint64) uint64 {
	if n > 1 {
		return n * factorial(n-1)
	}
	return 1
}

func main() {
	a := factorial(3)
	fmt.Println(a)
}

斐波那契数列

package main

import "fmt"

func feibonaqie(n int) int {

	if n < 2 {
		return n
	}
	return feibonaqie(n-2) + feibonaqie(n-1)
}

func main() {
	var i int
	for i = 0; i < 10; i++ {
		fmt.Printf("%d	", feibonaqie(i))
	}

}

以上是关于Go语言之递归函数的主要内容,如果未能解决你的问题,请参考以下文章

Go 语言设计哲学之十五:函数是一等公民

GO语言学习(二十)Go 语言递归函数

go语言学习--go语言递归函数

吴裕雄--天生自然--Go 语言学习笔记--Go 语言递归函数

016_go语言中的递归

Go 语言递归函数