兄弟连区块链培训分享Go语言-递归函数

兄弟连区块链培训分享Go语言-递归函数

兄弟连教育建议,用户在考虑培训周期时要切实结合自身目前所掌握的区块链知识的多少、培训的目的是简单的认知提升还是借此高薪就业等等。兄弟连Go全栈与区块链培训课程设置为5个半月共计22周的学习时长,由浅入深进行讲解,助力于小白用户向区块链工程师的转型。

课程体系设计架构包括了区块链的基础语言Go语言、区块链后端技术体系、区块链公链、区块链分布式应用开发等内容讲解,以及到最后的面试指导和项目实战。课程由清华微软谷歌名师团队精心打造,历时半年时间共同研发而出。

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

语法格式如下:

func recursion() {

recursion() /* 函数调用自身*/

}

func main() {

recursion()

}

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

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

阶乘

以下实例通过Go 语言的递归函数实例阶乘:

package main

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

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

相关推荐
相关主题
热门推荐