Golang 17 遞迴函式

2021-08-20 03:46:07 字數 753 閱讀 4478

遞迴,就是在執行的過程中呼叫自己。

語法格式如下:

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...