在Go語言中,遞歸是一種常用的編程技巧。要實現(xiàn)遞歸函數(shù),你需要定義一個函數(shù),該函數(shù)在其內(nèi)部調(diào)用自身。遞歸函數(shù)通常需要設(shè)置一個基本情況(base case),以防止無限遞歸。下面是一個簡單的遞歸函數(shù)示例,用于計算階乘:
package main
import "fmt"
// factorial 計算階乘的遞歸函數(shù)
func factorial(n int) int {
// 基本情況:當(dāng) n 為 0 或 1 時,階乘為 1
if n == 0 || n == 1 {
return 1
}
// 遞歸調(diào)用:計算 n * (n-1) 的階乘
return n * factorial(n-1)
}
func main() {
// 計算 5 的階乘
result := factorial(5)
fmt.Println("5 的階乘為:", result)
}
在這個示例中,我們定義了一個名為 factorial
的遞歸函數(shù),該函數(shù)接受一個整數(shù)參數(shù) n
。函數(shù)首先檢查基本情況(n == 0
或 n == 1
),如果滿足基本情況,則返回 1。否則,函數(shù)會遞歸調(diào)用自身,計算 n * (n-1)
的階乘。最后,我們在 main
函數(shù)中調(diào)用 factorial
函數(shù),計算 5 的階乘,并將結(jié)果打印出來。