起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 短期培训 > IT培训 > Go语言中什么是递归函数?老男孩Golang培训班

Go语言中什么是递归函数?老男孩Golang培训班

时间:2022-01-05 12:03:53来源:未知 作者:老男孩教育 已有: 名学员访问该课程

  快捷搜索:

前言:递归,就是在运行的过程中调用自己。一个函数调用自己,就叫做递归函数。 构成递归需具备的条件: 1、子问题须与原始问题为同样的事,且更为简单。 2、不能无限制地调用本身,须有个出口,化简为非递归状况处理。 Go编程语言支持递归,即函数调用函数本身。在使用递归时,需要谨慎确定函数的退

  递归,就是在运行的过程中调用自己。一个函数调用自己,就叫做递归函数。

  构成递归需具备的条件:

  1、子问题须与原始问题为同样的事,且更为简单。

  2、不能无限制地调用本身,须有个出口,化简为非递归状况处理。

  Go编程语言支持递归,即函数调用函数本身。在使用递归时,需要谨慎确定函数的退出条件,否则会造成无限循环。

  递归函数可以解决许多数学问题,如计算给定数字阶乘、产生斐波系列等。

  数字阶乘

  一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。

  亦即n!=1×2×3×…×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。

  使用一个递归函数由给定数计算阶乘,实例如下:

  package main

  import "fmt"

  func factorial(i int) int {

  if i <= 1 {

  return 1

  }

  return i * factorial(i-1)

  }

  func main() {

  var i int = 9

  fmt.Printf("Factorial of %d is %d\n", i, factorial(i))

  }

  斐波那契数列(Fibonacci)

  斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……

  这个数列从第3项开始,每一项都等于前两项之和。

  使用一个递归函数由给定的一个数产生斐波那契数列,实例如下:

  package main

  import "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 int

  for i = 0; i < 10; i++ {

  fmt.Printf("%d\n", fibonaci(i))

  }

  }

  老男孩教育专注Linux云计算运维工程师、Python全栈+人工智能、Python自动化运维开发、网络安全、数据分析、MySQL DBA开发、K8S微服务、Go语言等互联网课程的培训。欢迎对it行业感兴趣的朋友们来公司考察及学习。

文章出自:http://qh.itpxw.cn/peixun/it/2022102978.html

文章标题:Go语言中什么是递归函数?老男孩Golang培训班



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

(责任编辑:深圳学历教育网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
培训学校
老男孩教育 访问该机构站点 报名留言 加为好友 用户等级:高级会员 用户级别:0 机构名称:老男孩教育 联 系 人:任女士 联系电话:18710030740 联系手机:18710030740 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件:768386696@qq.com 网站域名:https://www.oldboyedu.com/ 注册时间:2019-03-20 15:03 最后登录:2023-02-02 13:02
推荐内容