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\t", feibonaqie(i))
}
}