1. 程式人生 > >016_go語言中的遞歸

016_go語言中的遞歸

main turn == 案例 mar println down return Go

代碼演示

package main

import "fmt"

func fact(n int) int {
    if n == 0 {
        return 1
    }
    return n * fact(n-1)
}

func main() {
    fmt.Println(fact(7))
}

代碼運行結果

5040

代碼解讀:

  • go語言支持遞歸,以上代碼是一個經典的階乘案例
  • fact函數在到達fact(0)之前一直在調用自身

016_go語言中的遞歸