Go中的闭包、递归( 二 )

数字阶乘一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1 。自然数n的阶乘写作n! 。1808年,基斯顿·卡曼引进这个表示法 。
package mainimport "fmt"func factorial(i int) int {if i <= 1 {return 1}return i * factorial(i-1)}func main() {var i int = 7fmt.Printf("Factorial of %d is %d\n", i, factorial(i))}输出结果:
Factorial of 7 is 5040斐波那契数列(Fibonacci)【Go中的闭包、递归】这个数列从第3项开始,每一项都等于前两项之和 。
package mainimport "fmt"func fibonaci(i int) int {if i == 0 {return 0}if i == 1 {return 1}return fibonaci(i-1) + fibonaci(i-2)}func main() {var i intfor i = 0; i < 10; i++ {fmt.Printf("%d\n", fibonaci(i))}}输出结果:
0112358132134

经验总结扩展阅读