函数式编程的思考

本文探讨了函数式编程的概念,对比了它与命令式编程的区别。函数式编程强调无副作用和引用透明性,有助于提高代码的可推断性、可测试性和模块化。通过实例展示了如何将命令式编程的代码转化为函数式编程风格,以实现更健壮和安全的多线程程序。
摘要由CSDN通过智能技术生成

欢迎浏览我的博客 获取更多精彩文章

https://boyn.top

函数式编程的思考

什么是函数式编程?

为了要理解什么是函数式编程,我们首先要知道什么不是函数式编程.通常,我们用的最多的编程范式是命令式编程,它由"工作"组成,与计算机的执行方式相同,即运行一行命令,做一件事,然后运行下一行命令.这意味着,当我们使用命令行式编程的时候,抽象地来看,代码中会有一个初始状态,一个转换过程和一个终止状态.

比如,当我们要表示一个a+b的程序,我们会这样表示

if b equals 0 => return a
else => return a plus b

而函数式编程,是由"是什么"的元素来构成的,比如,对于命令式编程,2+3对他来说是执行一个2+3的命令,最后输出5,而对于函数式编程,2+3就是5

或许这样子说会有一点令人迷惑,但是我们会在以后慢慢地清晰这个概念

函数式编程的特点

函数式编程最大的特点就是,他是没有副作用的.具体来说:

  • 他不会改变外部变量的值
  • 不会将anything输出
  • 不会抛出异常(并不表示不会出错)

换句话来说,FP是一种抽象的黑盒方法的表示.

同时,函数式编程其实是相对的,在一个函数的内部,他的实现可以是命令行式的,但是可以让外部用函数式来进行调用,并且无副作用,那么在外部看来,这个就是一个符合函数式编程的函数

其次,函数式编程是引用透明的,其中包括了

  • 他是独立的,他不会依赖除了输入以外的外部条件来进行工作,他不会从文件,数据库或者网络中读取数据
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值