请问函数式编程的必要性,什么场景下应该使用?

来源:7-2 函数式编程例一

weixin_慕娘7196663

2020-05-15

不太清楚什么场景下应该用函数式编程,好处是

写回答

1回答

ccmouse

2020-05-17

请参考一下下一节函数式编程例二,这里我演示了两个重要的好处:

一:我们这个root.TraverseFunc可以收一个函数作为参数。它可以只管如何遍历,具体对每个节点做什么可以由传入的函数来做。这时很自然的。可读性比起接收一个对象,或是接收一个enum,要好很多。

二:闭包是一个很重要的概念。我们看接下来统计节点数量的例子。我们的函数是func(*Node),但是要统计节点数量,我们还需要一个状态记录。如果没有闭包的概念,我们只能写一个func(node *Node, count *int),然后在函数里面统计。但这样的函数在参数上不符合func(*Node)的要求。但我们的例子里,通过闭包就能很自然和方便的适配各种函数的定义要求。

在后面的爬虫实现中,我们也有关键的地方用到函数式编程的方法。我们可以到了具体项目里再加深体会。

最后,业界对于函数式编程,当然有很多介绍,有许多公认的优点(以及缺点),我就不再复述了。

https://www.cnblogs.com/feichengwulai/articles/3632219.html

https://www.jianshu.com/p/e051b90d7931


0
0

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程