在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 的階乘,并將結果打印出來。