函数式编程可以总结出以下几个特点:
-
函数是一等公民
函数可以同其他数据类型一样,赋值给其它变量,也可以作为参数,传入另一个函数,或者作为函数的返回值。
在Objective-C中,通过block的引入,将函数当做变量,可以更好地运用函数式编程思想。 -
只用表达式,不用语句
表达式(expression)是一个单纯的运算过程,总有返回值;语句(statement)是执行某种操作,没有返回值。函数式编程要求,只使用表达式,不使用语句。也就是说,每一步都是单纯的运算,而且都有返回值。 -
不修改状态
函数式编程只返回新的值,并不修改系统变量,所以没有副作用。 -
引用透明
函数的运行不依赖于外部变量或"状态",只依赖于输入的参数,任何时候只要参数相同,引用函数所得到的返回值总是相同的。
网友评论