对于函数式编程,不同的人学习起来会有不同的见解,所谓仁者见仁智者见智。 从使用上可能始于map又终于map,从思想上,源于数学用于数学。 解决某个具体问题的过程中, 在组合程序的子程序部分得到最终程序的过程, 使用的组合方式是计算的组合, 那么也就可以说是函数式编程了。
核心概念与特征:
函数式编程(Functional Programming)是一种以数学函数为基础的编程范式, 其核心思想是将计算视为数学函数的求值过程,避免状态变化和可变数据。 主要特征包括:
纯函数:相同输入永远得到相同输出,无副作用
不可变数据:数据一旦创建就不能被修改
函数是一等公民:函数可以作为参数传递、作为返回值、赋值给变量
声明式风格:关注"做什么"而非"如何做"
递归代替循环:通过递归实现迭代控制流