导入
递归入门
了解本章将涵盖的内容,并初步认识递归。
一个简单的计数到10的脚本、一个显示最新新闻的主页、一个逐行解析CSV文件的程序,这些程序有什么共同点?它们都需要执行重复的任务才能得出最终结果。递归函数是函数式编程中实现重复的核心机制。
在命令式语言中,for 和 while 等循环结构负责实现重复行为。而 for 和 while 循环都依赖于可变状态。在函数式编程中,状态是不可变的,因此我们需要采用不同的方法。这时我们使用递归函数。

要理解递归函数的工作原理,可以将其想象成套娃。每次打开外层娃娃,都会发现里面还有一个娃娃,直到最后找到最中心的那个最小娃娃。类似地,**递归函数**就是函数自身调用自身,从而产生一系列对同一函数的连续调用。
本章将探讨处理递归的策略,并避免常见的性能问题和无限执行陷阱。到本章结束时,我们将学习如何在lambda表达式中使用递归。
在了解了递归函数的基本概念后,现在进入递归的学习。我们的第一步是学习最常见的递归类型:有界递归,这将在下一节中详细介绍。