函数式编程
程序员文章站
2024-02-04 08:22:58
...
我们先用一个最简单的例子来说明一下什么是函数式编程。
先看一个非函数式的例子:
int cnt;
void increment(){
cnt++;
}
那么,函数式的应该怎么写呢?
int increment(int cnt){
return cnt+1;
}
你可能会觉得这个例子太普通了。是的,这个例子就是函数式编程的准则:不依赖于外部的数据,而且也不改变外部数据的值,而是返回一个新的值给你。
Map & Reduce
在函数式编程中,我们不应该用循环迭代的方式,我们应该用更为高级的方法,如下所示的Python代码
name_len = map(len, ["hao", "chen", "coolshell"])
print name_len
# 输出 [3, 4, 9]
你可以看到这样的代码很易读,因为,这样的代码是在描述要干什么,而不是怎么干
我们可以看到,函数式编程有如下好处:
- 代码更简单了。
- 数据集,操作,返回值都放到了一起。
- 你在读代码的时候,没有了循环体,于是就可以少了些临时变量,以及变量倒来倒去逻辑。
- 你的代码变成了在描述你要干什么,而不是怎么去干。
上一篇: 从一个升序的数组中找出和为sum的两个数
下一篇: 用大顶堆取出一个数组中最小的k个数