Go基础_1_30 递归
package main
import "fmt"
func getSum(n int) int {
fmt.Println("**********")
if n == 1 {
return 1
}
return getSum(n-1) + n
}
func getFibonacci(n int) int {
if n == 1 || n == 2 {
return 1
}
return getFibonacci(n-1) + getFibonacci(n-2)
}
func main() {
/*
递归函数(recursion):一个函数自己调用自己,就叫做递归函数。
递归函数要有一个出口,逐渐的向出口靠近
*/
// 1.求1-5的和
sum := getSum(5)
fmt.Println(sum)
//2.fibonacci数列:
/*
1 2 3 4 5 6 7 8 9 10 11 12 。。。
1 1 2 3 5 8 13 21 34 55 89 144
*/
res := getFibonacci(12)
fmt.Println(res)
}