idioma ir función recursiva
La recursividad, es llamar a su cuenta en el proceso de ejecución.
Sintaxis es la siguiente:
func recursion() { recursion() /* 函数调用自身 */ } func main() { recursion() }
Ir recursividad soporte de idiomas. Pero cuando usamos la recursividad, los desarrolladores necesitan para establecer una condición de salida, de lo contrario se caerá en un bucle recursivo infinito.
función recursiva para resolver el problema matemático es muy útil, como factorial, generar número de Fibonacci y así sucesivamente.
factorial
Ir a través de los siguientes ejemplos ejemplos de lenguaje función factorial recursiva:
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)) }
Los ejemplos de la aplicación de la salida anterior es:
15 的阶乘是 1307674368000
número de Fibonacci
Los siguientes ejemplos se logran a través de la función recursiva idioma Ir Fibonacci secuencia de 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)) } }
Los ejemplos de la aplicación de la salida anterior es:
0 1 1 2 3 5 8 13 21 34