Go语言支持递归函数。这里是一个经典例子:factorial 数列。
package main
import "fmt"
// fact函数不断地调用自身,直到达到基本状态fact(0)
func fact(n int) int {
if n == 0 {
return 1
}
return n * fact(n-1)
}
func main() {
fmt.Println(fact(7))
}
输出
$ go run recursion.go
5040
下一个例子: Go by Example:Pointer