与天地兮比寿,与日月兮齐光。这篇文章主要讲述go语言学习--go语言递归函数相关的知识,希望能为你提供帮助。
递归,就是在运行的过程中调用自己。
func recursion()
recursion() /* 函数调用自身 */func main()
recursion()
【go语言学习--go语言递归函数】Go 语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。
递归函数对于解决数学上的问题是非常有用的,就像计算阶乘,生成斐波那契数列等。
阶乘
package mainimport "fmt"func Factorial(n uint64)(result uint64)
if (n >
0)
result = n * Factorial(n-1)
return resultreturn 1func main()
var i int = 15
fmt.Printf("%d 的阶乘是 %d\\n", i, Factorial(uint64(i)))
斐波那契数列
package mainimport "fmt"func fibonacci(n int) int
if n <
2
return nreturn fibonacci(n-2) + fibonacci(n-1)func main()
var i int
for i = 0;
i <
10;
i++
fmt.Printf("%d\\t", fibonacci(i))
推荐阅读
- #yyds干货盘点# 关于并发编程-AQS,你想知道的都在这里
- rsync远程同步
- #yyds干货盘点#JUnit5学习之八(综合进阶(终篇))
- Spring中毒太深,离开Spring我居然连最基本的接口都不会写了
- #yyds干货盘点# Python Opencv实战之图像阈值和模糊处理,万字实战,收藏起来吧~
- NFS挂载后原始文件隐藏问题
- Elasitcsearch 带认证及ssl集群部署
- Ubuntu更换镜像源,更快升级和更新软件
- 第一周小结