在Go语言中,递归是一种常用的编程技巧。要实现递归函数,你需要定义一个函数,该函数在其内部调用自身。递归函数通常需要设置一个基本情况(base case),以防止无限递归。下面是一个简单的递归函数示例,用于计算阶乘:
package main
import "fmt"
// factorial 计算阶乘的递归函数
func factorial(n int) int {
// 基本情况:当 n 为 0 或 1 时,阶乘为 1
if n == 0 || n == 1 {
return 1
}
// 递归调用:计算 n * (n-1) 的阶乘
return n * factorial(n-1)
}
func main() {
// 计算 5 的阶乘
result := factorial(5)
fmt.Println("5 的阶乘为:", result)
}
在这个示例中,我们定义了一个名为 factorial
的递归函数,该函数接受一个整数参数 n
。函数首先检查基本情况(n == 0
或 n == 1
),如果满足基本情况,则返回 1。否则,函数会递归调用自身,计算 n * (n-1)
的阶乘。最后,我们在 main
函数中调用 factorial
函数,计算 5 的阶乘,并将结果打印出来。