Don’t worry , just coding!
内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。
package main
import "fmt"
// 函数fact 输入一个int类型,返回一个int类型
func fact(n int) int {
if n == 0 {
return 1
}
return n * fact(n-1) //return中调用了fact函数,调用自己本身的函数称为递归
}
func main() {
fmt.Println(fact(7))
//fib是一个函数类型的变量,接受一个int,返回一个int
//func(n int)int 这是一个匿名函数,也是可以递归的,但在递归之前必须显示声明一个变量存储这个函数
var fib func(n int) int
fib = func(n int) int {
if n < 2 {
return n
}
return fib(n-1) + fib(n-2)
}
fmt.Println(fib(7))
}
输出:
go run post.go
5040
13
一句话总结:
递归函数就是在函数内部调用函数本身的函数。
这其实是一个数学问题,代码理解了,现在我们来看计算过程。
在使用递归算法时,有几点需要注意:
掌握知识的最好方式就是教会别人,每篇文章都讲清楚一个知识点,欢迎留言我一起讨论。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务