您现在的位置是:首页 > 网站制作 > gogo
Go 语言递归函数
胜于蓝2013-12-30【go】人已围观
简介递归,就是在运行的过程中调用自己。语法格式如下:func recursion() {
recursion() /* 函数调用自身 */
}
func main() {
recursion()
}Go 语言支持递归。但我们在使用
递归,就是在运行的过程中调用自己。
语法格式如下:
func recursion() {recursion() /* 函数调用自身 */
}
func main() {
recursion()
}
Go 语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。
递归函数对于解决数学上的问题是非常有用的,就像计算阶乘,生成斐波那契数列等。
阶乘
以下实例通过 Go 语言的递归函数实例阶乘:
实例
package mainimport "fmt"
func Factorial(n uint64)(result uint64) {
if (n > 0) {
result = n * Factorial(n-1)
return result
}
return 1
}
func main() {
var i int = 15
fmt.Printf("%d 的阶乘是 %d\n", i, Factorial(uint64(i)))
}
以上实例执行输出结果为:
15 的阶乘是 1307674368000
斐波那契数列
以下实例通过 Go 语言的递归函数实现斐波那契数列:
实例
package mainimport "fmt"
func fibonacci(n int) int {
if n < 2 {
return n
}
return fibonacci(n-2) + fibonacci(n-1)
}
func main() {
var i int
for i = 0; i < 10; i++ {
fmt.Printf("%d\t", fibonacci(i))
}
}
以上实例执行输出结果为:
0 1 1 2 3 5 8 13 21 34
Tags:
很赞哦! ()
上一篇:Go 语言Map(集合)
下一篇:Go 语言类型转换
随机图文
-
Go 语言函数
函数是基本的代码块,用于执行一个任务。Go 语言最少有个 main() 函数。你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。函数声明告诉了编译器函数的名称,返 -
Go 并发
Go 语言支持并发,我们只需要通过 go 关键字来开启 goroutine 即可。goroutine 是轻量级线程,goroutine 的调度是由 Golang 运行时进行管理的。goroutine 语法格式:go 函数名( -
Go 语言条件语句
条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。下图展示了程序语言中条件语句的 -
Go 语言运算符
运算符用于在程序运行时执行数学或逻辑运算。Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符接下来让我们来详细看看各个运算符