遞迴,就是在執行的過程中呼叫自己。
語法格式如下:
func recursion()
func main()
go 語言支援遞迴。但我們在使用遞迴時,開發者需要設定退出條件,否則遞迴將陷入無限迴圈中。
遞迴函式對於解決數學上的問題是非常有用的,就像計算階乘,生成斐波那契數列等。
以下例項通過 go 語言的遞迴函式實現階乘:
package main
import "fmt"
func factorial(n uint64) (result uint64)
return 1
}func main()
以上例項執行輸出結果為:
5 的階乘是 120
以下例項通過 go 語言的遞迴函式實現斐波那契數列:
package main
import "fmt"
func fibonacci(n int) int
return fibonacci(n-2) + fibonacci(n-1)
}func main()
}
以上例項執行輸出結果為:
0 1 1 2 3 5 8 13 21 34
技術交流論壇:
Golang1 7中的TCP互動封裝
package connection import encoding binary errors io net sync time 支援的最大訊息長度 const maxlength int 1 32 1 4294967295 var rheadbytes 4 byte wheadbytes 4 b...
17 遞迴函式與匿名函式
目錄 三 匿名函式 函式的遞迴呼叫是函式巢狀的一種特殊形式,具體是指在呼叫乙個函式的過程中,直接或間接地呼叫了自己。直接呼叫 間接呼叫 從上圖可以看出,兩種情況下的遞迴呼叫都是乙個無限迴圈的過程,但在python對函式的遞迴呼叫的深度做了限制,因而並不會像大家所想的那樣進入無限迴圈,會丟擲異常,要避...
Golang遞迴函式 函式型別 匿名函式和閉包
遞迴指函式可以直接或間接的呼叫自身。遞迴函式通常有相同的結構 乙個跳出條件和乙個遞迴體。所謂跳出條件就是根據傳入的引數判斷是否需要停止遞迴,而遞迴體則是函式自身所做的一些處理。通過迴圈實現1 2 3 100 func test01 int return sum 通過遞迴實現1 2 3 100 fun...