diff --git a/README_gc.md b/README_gc.md index 4ed787c..9644015 100644 --- a/README_gc.md +++ b/README_gc.md @@ -15,4 +15,4 @@ Golang 编程:245386165 |更新日期 |更新内容 |----------|------------------ -|2015-07-20|6.3 传递变长参数 \ No newline at end of file +|2015-07-20|6.6 递归函数 \ No newline at end of file diff --git a/eBook/06.6.md b/eBook/06.6.md index d147adc..db62434 100644 --- a/eBook/06.6.md +++ b/eBook/06.6.md @@ -6,7 +6,7 @@ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, … -下面的程序可用于生成该数列(Listing 6.13 fibonacci.go): +下面的程序可用于生成该数列(示例 6.13 [fibonacci.go](examples/chapter_6/fibonacci.go)): ```go package main @@ -51,7 +51,7 @@ fibonacci(10) is: 89 在使用递归函数时经常会遇到的一个重要问题就是栈溢出:一般出现在大量的递归调用导致的程序栈内存分配耗尽。这个问题可以通过一个名为懒惰评估的技术解决,在 Go 语言中,我们可以使用管道(channel)和 goroutine(详见第 14.8 节)来实现。练习 14.12 也会通过这个方案来优化斐波那契数列的生成问题。 -Go 语言中也可以使用相互调用的递归函数:多个函数之间相互调用形成闭环。因为 Go 语言编译器的特殊性,这些函数的声明顺序可以是任意的。下面这个简单的例子展示了函数 odd 和 even 之间的相互调用(Listing 6.14 mut_recurs.go): +Go 语言中也可以使用相互调用的递归函数:多个函数之间相互调用形成闭环。因为 Go 语言编译器的特殊性,这些函数的声明顺序可以是任意的。下面这个简单的例子展示了函数 odd 和 even 之间的相互调用(示例 6.14 [mut_recurs.go](examples/chapter_6/mut_recurs.go)): ```go package main