## 一、定义
递归,就是在运行的过程中调用自己。
语法格式如下:
```
funcrecursion(){
recursion()/* 函数调用自身 */
}
funcmain(){
recursion()
}
```
注:在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中
## 1、实例
~~~
package main
import "fmt"
func fun01(number int) (sum int) {
if number <= 0 {
return
}
sum = number + fun01(number-1)
return
}
func main() {
sum := fun01(10)
fmt.Println(sum)
}
~~~
执行结果:
55
## 2、实例
~~~
package main
import "fmt"
func fun01(number int) (sum int) {
if number > 0 {
sum = number * fun01(number-1)
return
}
return 1
}
func main() {
sum := fun01(3)
fmt.Println(sum)
}
~~~
执行结果:
6