18.4 小结18.4 小结以下是本章中的关键概念。 从长远看,减少共享的可变数据结构能帮助你降低维护和调试程序的代价。 函数式编程支持无副作用的方法和声明式编程。 函数式方法可以由它的输入参数及输出结果进行判断。 如果一个函数使用相同的参数值调用,总是返回相同的结果,那么它是引用透明的。采用递归可以取代迭代式的结构,比如while循环。 相对于Java语言中传统的递归,“尾–递”可能是一种更好的方式,它开启了一扇门,让我们有机会最终使用编译器进行优化。