Latest web development tutorials

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