探索函数式编程:概念、实践与优势
1. 致谢与背景
在开始探索函数式编程之前,要感谢众多在背后提供支持和帮助的人。有Manning团队的各位编辑,包括开发编辑Dustin Archibald、审阅编辑Aleksandar Dragosavljević等;还有所有的审阅者,如Alain Couniot、Alessandro Campeis等。同时,感谢Miles Sabin的鼓励和信任,以及开源Scala社区的众多成员,像Rob Norris、Ross Baker等。也要感谢Comcast的同事们,特别是Tim Walsh、Stephen Abert和Gary Henson,他们帮助构建了世界级的Scala组织。还要感谢Paul和Rúnar,将本书的第二版托付,并给予多年的支持和指导。最后,感谢妻子Allison,在写作和参与函数式编程社区的过程中给予的耐心和支持。
2. 函数式编程入门
函数式编程(FP)是一种编写软件的激进且有原则的方法。它基于一个简单却影响深远的前提:仅使用无副作用的纯函数来构建程序。副作用指的是函数除了返回结果之外所做的其他事情,例如:
- 修改变量
- 原地修改数据结构
- 设置对象的字段
- 抛出异常或因错误而停止
- 向控制台打印或读取用户输入
- 读写文件
- 在屏幕上绘图
下面通过一个咖啡购买程序的例子,来看看函数式编程的好处。
3. 含副作用的程序示例
假设要实现一个处理咖啡店购买的程序,先来看一个使用了副作用的Scala 3程序:
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



