63_Go基础_1_30 递归
1 package main 2 3 import "fmt" 4 5 func getSum(n int) int { 6 fmt.Println("**********") 7 if n == 1 { 8 return 1 9 } 10 return getSum(n-1) + n 11 } 12 13 func getFibonacci(n int) int { 14 if n == 1 || n == 2 { 15 return 1 16 } 17 return getFibonacci(n-1) + getFibonacci(n-2) 18 } 19 20 func main() { 21 /* 22 递归函数(recursion):一个函数自己调用自己,就叫做递归函数。 23 递归函数要有一个出口,逐渐的向出口靠近 24 */ 25 26 // 1.求1-5的和 27 sum := getSum(5) 28 fmt.Println(sum) 29 30 //2.fibonacci数列: 31 /* 32 1 2 3 4 5 6 7 8 9 10 11 12 。。。 33 1 1 2 3 5 8 13 21 34 55 89 144 34 35 36 */ 37 res := getFibonacci(12) 38 fmt.Println(res) 39 }