RXSwift
RXSwift概览
函数式编程
函数式编程是种编程范式。它是通过构建函数操作数据序列,然后对这些序列做出响应的编程方式,它需要我们将函数作为参数传递,或者作为返回值返回。我们可以通过组合不同的函数来得到想要的结果。 一种构建计算机程序结构和元素的方式 - 将计算视为数学函数的评估并避免改变状态和可变数据。
它是一种声明性编程范例,这意味着使用表达式或声明而不是语句来完成编程。在函数代码中,函数的输出值仅取决于传递给函数的参数,因此,对于参数x,使用相同的值调用函数f两次会产生相同的结果f(x);这与依赖于本地或全局状态的过程形成对比,当使用相同的参数但使用不同的程序状态调用时,这可能在不同的时间产生不同的结果。消除副作用,即不依赖于函数输入的状态变化,可以使得更容易理解和预测程序的行为,这是开发函数编程的关键动机之一。
本质上,函数式编程只是范畴论的运算方法,跟数理逻辑、微积分、行列式是同一类东西,都是数学方法,只是碰巧它能用来写程序。函数式编程要求函数必须是纯的,不能有副作用?因为它是一种数学运算,原始目的就是求值,不做其他事情,否则就无法满足函数运算法则了。在函数式编程中,函数就是一个管道(pipe)。这头进去一个值,那头就会出来一个新的值,没有其他作用。
看一个例子:根据条件过滤出数组中一组数据,并以数组的形式返回
//Array扩充函数
extension Array {
//根据条件过滤数组中的整形,并以数组的形式返回
func Filter(oprationFunc:(Int) -> Bool) -