您现在的位置是:首页 > 网站制作 > gogo

Go 语言递归函数

胜于蓝2013-12-30【go】人已围观

简介递归,就是在运行的过程中调用自己。语法格式如下:func recursion() {
recursion() /* 函数调用自身 */
}

func main() {
recursion()
}Go 语言支持递归。但我们在使用

递归,就是在运行的过程中调用自己。Pmx胜于蓝|优秀个人博客

语法格式如下:Pmx胜于蓝|优秀个人博客

func recursion() {Pmx胜于蓝|优秀个人博客
   recursion() /* 函数调用自身 */Pmx胜于蓝|优秀个人博客
}Pmx胜于蓝|优秀个人博客
Pmx胜于蓝|优秀个人博客
func main() {Pmx胜于蓝|优秀个人博客
   recursion()Pmx胜于蓝|优秀个人博客
}

Go 语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。Pmx胜于蓝|优秀个人博客

递归函数对于解决数学上的问题是非常有用的,就像计算阶乘,生成斐波那契数列等。Pmx胜于蓝|优秀个人博客


阶乘

以下实例通过 Go 语言的递归函数实例阶乘:Pmx胜于蓝|优秀个人博客

实例

package mainPmx胜于蓝|优秀个人博客
Pmx胜于蓝|优秀个人博客
import "fmt"Pmx胜于蓝|优秀个人博客
Pmx胜于蓝|优秀个人博客
func Factorial(n uint64)(result uint64) {Pmx胜于蓝|优秀个人博客
    if (n > 0) {Pmx胜于蓝|优秀个人博客
        result = n * Factorial(n-1)Pmx胜于蓝|优秀个人博客
        return resultPmx胜于蓝|优秀个人博客
    }Pmx胜于蓝|优秀个人博客
    return 1Pmx胜于蓝|优秀个人博客
}Pmx胜于蓝|优秀个人博客
Pmx胜于蓝|优秀个人博客
func main() {  Pmx胜于蓝|优秀个人博客
    var i int = 15Pmx胜于蓝|优秀个人博客
    fmt.Printf("%d 的阶乘是 %d\n", i, Factorial(uint64(i)))Pmx胜于蓝|优秀个人博客
}

以上实例执行输出结果为:Pmx胜于蓝|优秀个人博客

15 的阶乘是 1307674368000

斐波那契数列

以下实例通过 Go 语言的递归函数实现斐波那契数列:Pmx胜于蓝|优秀个人博客

实例

package mainPmx胜于蓝|优秀个人博客
Pmx胜于蓝|优秀个人博客
import "fmt"Pmx胜于蓝|优秀个人博客
Pmx胜于蓝|优秀个人博客
func fibonacci(n int) int {Pmx胜于蓝|优秀个人博客
  if n < 2 {Pmx胜于蓝|优秀个人博客
   return nPmx胜于蓝|优秀个人博客
  }Pmx胜于蓝|优秀个人博客
  return fibonacci(n-2) + fibonacci(n-1)Pmx胜于蓝|优秀个人博客
}Pmx胜于蓝|优秀个人博客
Pmx胜于蓝|优秀个人博客
func main() {Pmx胜于蓝|优秀个人博客
    var i intPmx胜于蓝|优秀个人博客
    for i = 0; i < 10; i++ {Pmx胜于蓝|优秀个人博客
       fmt.Printf("%d\t", fibonacci(i))Pmx胜于蓝|优秀个人博客
    }Pmx胜于蓝|优秀个人博客
}

以上实例执行输出结果为:Pmx胜于蓝|优秀个人博客

0    1    1    2    3    5    8    13    21    34

Tags:

很赞哦! ()

文章评论

当前时间

快速排名

  • 网站建设|万词霸屏,企业软文推广,刷下拉框
  • 快速排名:不用再等SEO三个月,只需3-7天即可把行业关键词覆盖百度搜索引擎首页,点击不收费,排名报表,真实访问量报表一目了然。

合作加盟

  • 扫码成为快钱代理
  • 扫码加站长微信,为您推荐快钱总部负责人
  • 快钱POSS机(电签版)
  • 1,免押版:签约费率快捷交易0.38%,常规交易0.65%
  • 贷记卡单笔≥3000元视为激活
  • 2,,有押版:签约快捷交易0.38%,常规交易0.65%
  • 激活首刷≥99元,扣除99元系统服务费,多出部分shishi到账
  • 电签版ipos参与每月扶持奖励
  • 电签版ipos与Mpos单独考核台均
  • 30台以上有效激活奖励3000元扶持金
  • 当月交易额≥3000元的为活跃用户

快钱代理公告

  • 凡事扫码代理必须实名认证
  • 实名认证后才可拉进代理微信群
  • 代理微信群有相关活动政策等

本站推荐

站点信息

  • 建站时间:2018-10-24
  • 网站程序:帝国CMS7.5
  • 主题模板《今夕何夕》
  • 文章统计3803篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 微信公众号:扫描二维码,关注我们

X客服在线

关于

服务时间

周一至周五 9:00-18:00