博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Exercise: Fibonacci closure
阅读量:5836 次
发布时间:2019-06-18

本文共 528 字,大约阅读时间需要 1 分钟。

题目:

Let's have some fun with functions.Implement a fibonacci function that returns a function (a closure) that returns successive fibonacci numbers (0, 1, 1, 2, 3, 5, ...).

代码:

package mainimport "fmt"// fibonacci is a function that returns// a function that returns an int.func fibonacci() func() int {	a, b, c := 0, 1, 0	return func () int {		c, a, b = a, b, a+b		return c	}}func main() {	f := fibonacci()	for i := 0; i < 10; i++ {		fmt.Println(f())	}}

运行结果:

0112358132134

  

  

转载于:https://www.cnblogs.com/chpx/p/5523010.html

你可能感兴趣的文章
虚拟运营商10月或大面积放号 哭穷背后仍有赢家
查看>>
Server2016开发环境配置
查看>>
分布式光伏发电建设中的逆变器及其选型
查看>>
发展物联网 构建智能连接
查看>>
增强网络安全防御 推动物联网走向应用
查看>>
UML中关联,组合与聚合等关系的辨析
查看>>
《大数据管理概论》一3.2 大数据存储与管理方法
查看>>
PowerBuilder开发简单计算器
查看>>
从HDFS看分布式文件系统的设计需求
查看>>
怎样使用linux的iptables工具进行网络共享
查看>>
《HTML5与CSS3实战指南》——导读
查看>>
RHEL6下安装oracle 10g(一)
查看>>
Redhat 7 httpd 显示wsgi页面
查看>>
Kconfig的格式
查看>>
关于Cursor的moveToFirst和moveToNext的意义
查看>>
个人--工资划分5份
查看>>
有关文件下载的文件名
查看>>
史上最详细的wamp配置虚拟域名步骤
查看>>
oracle 授权
查看>>
lv扩展磁盘空间
查看>>