## 一、定義
遞歸,就是在運行的過程中調用自己。
語法格式如下:
```
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