Latest web development tutorials

Bahasa pergi fungsi rekursif

Rekursi, adalah untuk memanggil mereka sendiri dalam proses berjalan.

Sintaks adalah sebagai berikut:

func recursion() {
   recursion() /* 函数调用自身 */
}

func main() {
   recursion()
}

Pergi bahasa dukungan rekursi. Tetapi ketika kita menggunakan rekursi, pengembang harus menetapkan kondisi keluar, jika tidak akan jatuh ke dalam loop rekursif yang tak terbatas.

fungsi rekursif untuk memecahkan masalah matematika sangat berguna, seperti faktorial, menghasilkan angka Fibonacci dan sebagainya.


faktorial

Pergi melalui contoh-contoh berikut contoh bahasa fungsi faktorial rekursif:

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))
}

Contoh pelaksanaan output di atas adalah:

15 的阶乘是 1307674368000

nomor fibonacci

Contoh-contoh berikut dicapai melalui fungsi rekursif bahasa Go Fibonacci Urutan Fibonacci:

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))
    }
}

Contoh pelaksanaan output di atas adalah:

0	1	1	2	3	5	8	13	21	34