2、探索函数式编程:概念、实践与优势

探索函数式编程:概念、实践与优势

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程序:


                
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值