0
点赞
收藏
分享

微信扫一扫

GO+ 递归(Recursion)



递归(Recursion)

  • ​​一、GO+ 概述​​
  • ​​二、定义​​
  • ​​三、递归函数语法格式​​
  • ​​四、GO+ 递归​​
  • ​​五、递归函数的应用​​

官方线上GO+练习环境:​​https://play.goplus.org/​​

一、GO+ 概述

Go+ 是一门融合工程开发的 Go、数据科学领域的 Python、编程教学领域的 Scratch,以 Python 之形结合 Go 之心,让工程师处理数据不需要学习新的开发语言,让初学者学习编程、开发作品的门槛更低的编程语言。

二、定义

递归,就是在运行的过程中调用自己。

三、递归函数语法格式

递归,是指函数可以直接或间接的调用自身。

语法格式如下:

func recursion(){
recursion() //调用自身
}

四、GO+ 递归

Go +语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。

递归函数通常有相同的结构:一个跳出条件和一个递归体。所谓跳出条件就是根据传入的参数判断是否需要停止递归,而递归体则是函数自身所做的一些处理。

比如通过循环实现1+2+3+…+100,代码如下:

GO+ 递归(Recursion)_递归

通过递归实现1+2+3+…+100,代码如下:

GO+ 递归(Recursion)_递归_02

五、递归函数的应用

递归函数对于解决数学上的问题是非常有用的,就像计算阶乘,生成斐波那契数列等。

  1. 阶乘
    以下实例通过GO+语言的递归函数实现阶乘,代码如下:
func factorialRecursion(num int) int {
if num == 0{
return 1
}
return num * factorialRecursion(num - 1)
}
ret := factorialRecursion(4)
println("4 阶乘:", ret)

以上实例执行输出结果为:

GO+ 递归(Recursion)_递归函数_03

  1. 斐波那契数列
    以下实例通过 Go+ 语言的递归函数实现斐波那契数列,代码如下:
func fibo(n int) int {
if n == 1 || n == 2 {
return 1
}
return fibo(n-1) + fibo(n-2)
}
ret := fibo(4)
println("斐波那契数列(n=4):", ret)

以上实例执行输出结果为:

GO+ 递归(Recursion)_递归_04


举报

相关推荐

0 条评论