`
jashawn
  • 浏览: 18638 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Go 官方教程练习 三 fibonacci函数

    博客分类:
  • Go
Go 
阅读更多

我的解法基于教程的内容,也就是还没有到的内容不会出现在我的解法中,并且既然是练习便尽量地使用Go的特性,抛弃自己对其它语言使用的习惯。

 

习题:http://tour.golang.org/#43

f(1) = 0

f(2) = 1

f(n) = f(n-1) + f(n-2)

所以第一次执行打出 0, 然后 1, 1, 2, 3, 5, 8, 13, 21, 34

func fibonacci() func() int {
	a := 0
	b := 1
	n := 0
	return func() int {
		if n == 0 {
			n++
			return a
		} else if n == 1 {
			n++
			return b
		}
		a, b = b, a+b
		return b
	}
}

 

分享到:
评论

相关推荐

    最新go语言中文教程及手册(强烈推荐)

    Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表 达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核 和网络应用,而新的类型系统允许构建有性的模块化程序。Go 编译到机器码非常...

    Go-Golang算法和数据结构

    在编程领域,算法和数据结构是核心技术之一,对于任何编程语言来说都至关重要,Go语言(Golang)也不例外。Go语言以其简洁的语法、高效的性能以及内置的并发支持,成为了很多开发者首选的系统级编程语言。本资料包...

    用 Go 语言实现的数据结构与算法.zip

    本资料包“用 Go 语言实现的数据结构与算法.zip”中的“my_resource”文件可能包含了上述各种数据结构的实现代码、练习题以及相关的学习资料,对于理解和实践Go语言中的数据结构与算法非常有帮助。通过学习这些内容...

    《Hello 算法》:动画图解、一键运行的数据结构与算法教程.zip

    这本教程覆盖了多种编程语言,包括 Java, C++, Python, Go, JS, TS, C#, Swift, Rust, Dart, Zig 等,确保无论你是哪种语言背景的开发者,都能找到适合自己的学习路径。 数据结构是算法的基础,它们定义了数据在...

    Go_101:我在 Go 中完成 Jim Canning 的 101 个 C 编程问题

    作业难度从简单(斐波那契、因子)到复杂(凸包、骑士移动、傅立叶变换),除了编程基础外,还包括大量练习以理解标准库的基本用法。 我正在逐步检查每个程序,以提供有助于解释和教育代码某些部分的注释。 我...

    程序员面试金典5 ctci 源码

    4. **递归与函数式编程**:源码中可能会包含递归函数的实现,比如阶乘计算、斐波那契数列等,以及函数式编程的一些概念和应用。 5. **内存管理与指针**:对于C和C++,源码会涉及到内存分配、释放、指针操作等概念,...

    go-leetcode:leetcode题解,不定时更新

    标题 "go-leetcode: leetcode题解,不定时更新" 提供的信息表明,这是一个使用Go语言编写的项目,专门用于解决LeetCode平台上的算法题目。LeetCode是一个在线平台,提供了大量的编程挑战,旨在帮助程序员提升算法...

    algo:Go中的入门算法

    Go语言,由Google开发,因其简洁、高效和并发特性而受到广大开发者喜爱。本篇文章将深入探讨Go语言中的基础算法,帮助初学者快速入门。 1. **排序算法** - **冒泡排序**:通过不断交换相邻的逆序元素来实现排序,...

    数据结构1800习题与答案

    10. **递归与分治策略**:例如斐波那契数列、快速排序、归并排序、汉诺塔问题等,这些都是通过将大问题分解成小问题来解决的典型例子。 通过这份习题集,学习者可以系统地练习和巩固上述知识点,通过实际操作加深对...

    java算法大全源代码 学JAVA必备

    栈遵循“后进先出”(LIFO)原则,常用于函数调用、括号匹配等问题;队列则遵循“先进先出”(FIFO)原则,常用于任务调度。树结构如二叉树、平衡树(AVL、红黑树)在搜索和排序中起到重要作用,哈希表(HashMap)则...

Global site tag (gtag.js) - Google Analytics