Go语言基础教程:递归
在 Go 语言中,递归是一种常用的编程方法,可以让函数调用自身来解决复杂的分解问题。本教程将通过实现阶乘和斐波那契数列的计算来帮助理解递归在 Go 中的实现方式。
package main
import "fmt"
// 递归计算阶乘
func fact(n int) int {
if n == 0 {
return 1
}
return n * fact(n-1)
}
func main() {
// 调用 fact 函数计算 7 的阶乘
fmt.Println(fact(7)) // 输出: 5040
// 定义斐波那契数列函数变量 fib
var fib func(n int) int
fib = func(n int) int {
if n < 2 {
return n
}
return fib(n-1) + fib(n-2)
}
// 调用 fib 函数计算第 7 项的斐波那契数
fmt.Println(fib(7)) // 输出: 13
}