初探Go语言:递归的示例学习
发表时间: 2024-06-05 23:18
官网示例代码:
import "fmt"func fact(n int) int { if n == 0 { return 1 } return n * fact(n-1)}func main() { fmt.Println(fact(7)) var fib func(n int) int fib = func(n int) int { if n < 2 { return n } return fib(n-1) + fib(n-2) } fmt.Println(fib(7))}
这段代码展示了两个典型的递归函数的使用:一个用于计算阶乘,另一个用于计算斐波那契数列。
fact函数定义了阶乘函数。从7 * 6 * 5 * 4 * 3 * 2 * 1,结果是5040。
fib(7)的计算过程是:fib(6) + fib(5),继续分解直到基准条件,结果是13。