Recursion {.en}
递归 {.zh}
::: {.en} Go supports recursive functions. Here’s a classic factorial example. :::
::: {.zh}
Go 支持 递归。这是一个经典的阶乘示例。
:::
package mainimport "fmt"
::: {.en}
This fact function calls itself until it reaches the
base case of fact(0).
:::
::: {.zh}
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.go5040
