Go 递归函数

Go语言支持递归函数,这里是一个经典的斐波拉切数列的列子。

  1. package main
  2. import "fmt"
  3. // fact函数不断地调用自身,直到达到基本状态fact(0)
  4. func fact(n int) int {
  5. if n == 0 {
  6. return 1
  7. }
  8. return n * fact(n-1)
  9. }
  10. func main() {
  11. fmt.Println(fact(7))
  12. }

输出结果为

  1. 5040