编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。递归函数不能定义为内联函数。
在数学上,关于递归函数的定义如下:对于某一函数f(x),其定义域是集合A,那么若对于A集合中的某一个值X0,其函数值f(x0)由f(f(x0))决定,那么就称f(x)为递归函数。
1 2 3 4 5 6 7 8 9 10 11 12 |
package main import "fmt" This fact function calls itself until it reaches the base case of fact(0). func fact(n int) int { if n == 0 { return 1 } return n * fact(n-1) } func main() { fmt.Println(fact(7)) } |
输出结果:
1 |
5040 |
Go 语言递归函数
有疑问加站长微信联系(非本文作者)