Idź język rekurencyjny funkcji
Rekurencja jest zadzwonić własną rękę w trakcie biegania.
Składnia jest następująca:
func recursion() { recursion() /* 函数调用自身 */ } func main() { recursion() }
Idź obsługi języka rekursji. Ale kiedy używamy rekursji, deweloperzy muszą ustawić stan wyjścia, inaczej spadnie do nieskończonej pętli rekurencyjnej.
Funkcji rekurencyjnej, aby rozwiązać problem matematyczny jest bardzo przydatna, jak silnia, generowanie liczb Fibonacciego i tak dalej.
silnia
Przejdź przez Poniższe przykłady rekurencyjnych przykładów językowych Funkcja silnia:
package main import "fmt" func Factorial(x int) (result int) { if x == 0 { result = 1; } else { result = x * Factorial(x - 1); } return; } func main() { var i int = 15 fmt.Printf("%d 的阶乘是 %d\n", i, Factorial(i)) }
Przykłady realizacji powyższego przykładu jest:
15 的阶乘是 1307674368000
liczb Fibonacciego
Poniższe przykłady są osiągane poprzez Funkcja rekurencyjna języka Go Fibonacciego Ciąg Fibonacciego:
package main import "fmt" func fibonaci(n int) int { if n < 2 { return n } return fibonaci(n-2) + fibonaci(n-1) } func main() { var i int for i = 0; i < 10; i++ { fmt.Printf("%d\t", fibonaci(i)) } }
Przykłady realizacji powyższego przykładu jest:
0 1 1 2 3 5 8 13 21 34