函数式编程 函数式一等公民 高阶函数 闭包 副作用 珂里化函数 函数的组合 函子 的概念

## 函数式编程

"函数式编程"是一种"编程范式",也就是如何编写程序的方法论。
它属于"结构化编程"的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。
函数式编程可以很大程度上让代码可以重用

## 函数式一等公民

函数可以储存在变量中
函数可以作为参数
函数可以作为返回值

## 高阶函数

函数可以作为参数传递
函数作为函数的返回值

## 闭包

可以在另一个作用域调用一个函数内部的成员 -- 利用了垃圾回收机制的特性 -- 即被引用即不会被销毁

## 副作用

如果函数依赖于外部的状态就无法保证输出相同,就会带来副作用,副作用只能尽可能控制,不能完全禁止

## 珂里化函数总结

柯里化可以让我们给一个函数传递较少的参数得到一个已经记住某些固定参数的新函数
这是一种对函数的’缓存‘
让函数变得更灵活,让函数的粒度更小
可以把多远函数转换成一元函数,可以组合使用函数产生强大的功能

## 函数的组合

如果一个函数要经过多个函数的处理才能得到最终的结果,这个时候可以把中间过程的函数合并成一个函数
函数就像是数据的管道,函数组合就是把这些管道连接起来,让数据穿过多个管道形成最终结果
函数组合默认是从右到左执行

## 纯函数

相同的输入永远会得到相同的输出,并且没有任何可观察的副作用。

## 函子

它是函数式编程中的基本单位,它包含了一些值,同时暴露出一个方法可以对其中的值进行操作,也就是说,函子是一个包含了值的容器。

## MayBe 函子

对编程中的错误进行处理

## IO 函子

IO 函子中的\_value 是一个函数,这里是把函数作为值来处理
IO 函子可以把不纯的操作储存到\_value 中,延迟执行这个不纯的操作
把不纯的操作交给调用者来处理
posted @   有肌肉的小眼睛  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示