Go递归
递归:函数调用自己
使用一个计算n的阶乘来举例子
package main
//递归:函数调用自己
import "fmt"
//计算n的阶乘
func f(n uint64) (q uint64) {
//func f(5 uint64) (q uint64) {
if n <= 1 {
return 1
}
return n * f(n-1)
//return 5 * f(5-1)
}
//走台阶
func taijie(n uint64) (q uint64) {
if n == 1 {
return 1
}
if n == 2 {
return 2
}
return taijie(n-1) + taijie(n-2)
}
func main() {
ret := f(5)
fmt.Printf("Num:%d\n", ret)
tai := taijie(4)
fmt.Printf("%d种走法。\n", tai)
}
输出结果
Num:120
5种走法。