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)) } }