Latest web development tutorials

Go language recursive function

Recursion, is to call their own in the process of running.

Syntax is as follows:

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

func main() {
   recursion()
}

Go language support recursion. But when we use recursion, developers need to set an exit condition, otherwise will fall into an infinite recursive loop.

Recursive function to solve the mathematical problem is very useful, like factorial, generate Fibonacci number and so on.


factorial

Go through the following examples recursive function factorial language examples:

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

Examples of the implementation of the above output is:

15 的阶乘是 1307674368000

Fibonacci number

The following examples are achieved through recursive function Go language Fibonacci Sequence 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))
    }
}

Examples of the implementation of the above output is:

0	1	1	2	3	5	8	13	21	34