Go指南练习之《斐波纳契闭包》
来源:互联网 发布:体现中国实力的数据 编辑:程序博客网 时间:2024/05/23 18:33
Go官网指南
练习原文
现在来通过函数做些有趣的事情。
实现一个 fibonacci 函数,返回一个函数(一个闭包)可以返回连续的斐波纳契数。
关键信息
闭包函数会引用函数体以外的值,可以对其修改
代码
package mainimport "fmt"/*斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2,n∈N*),用文字来说,就是斐波那契数列列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加。*/func fibonacci1() func() int { back1, back2:= 0, 1 // 前两个值 return func() int { //记录第一个 temp:=back1 // 重新赋值 back1,back2=back2,(back1 + back2) return temp }}func main() { f := fibonacci1()// 返回一个闭包函数 for i := 0; i < 10; i++ { fmt.Println(f()) }}
运行结果
0112358132134
0 0
- Go指南练习之《斐波纳契闭包》
- Go指南练习之《斐波纳契闭包》
- Go指南练习之《slice》
- Go指南练习之《map》
- Go指南练习之《Stringers》
- Go指南练习之《错误》
- Go指南练习之《Reader》
- Go指南练习之《rot13Reader》
- Go指南练习之《图片》
- Go指南练习之《循环和函数》
- Go指南练习之《HTTP 处理》
- Go指南练习之《等价二叉树》
- Go指南练习之《Web 爬虫》
- Go指南中的练习:map
- Go指南中的练习:Stringers
- go语言指南的练习
- Go指南—练习:rot13Reader
- go指南练习:循环和函数
- Linked List
- 超文本传输协议(HTTP)
- QQ公众号,微信公众号,微信小程序,商家主页,商家APP
- DCGANs源码解析(二)
- 计算句子相似度
- Go指南练习之《斐波纳契闭包》
- 九度oj1004题
- object的方法
- Matlab中varargout简介,varargout函数的使用
- 【MySQL】MySQL5.6新特性之crash-safe
- 哈理工OJ 2304 Julyed(水题)
- JS引入方式及性能
- centos7使用笔记
- 欢迎使用CSDN-markdown编辑器