Go函数递归实例


Go支持递归函数。 这里是一个经典的阶乘例子。

所有的示例代码,都放在 F:\worksp\golang 目录下。安装Go编程环境请参考:http://www.yiibai.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

匿名

发表评论

匿名网友