函数式编程的特点和优势,为何使用函数式编程

1、函数是第一等公民,意思是函数和其它的数据类型有一样的等级,函数可以赋值给其它变量,可以作为参数,或者作为返回值

2、函数编程只用表达式,不用语句。"表达式"(expression)是一个单纯的运算过程,所以他总是有返回值,原因是函数式编程的开发动机,一开始就是为了处理运算

不考虑系统的读写(I/O),但是实际开发过程中,只能说是尽量保持最小的读写行为

3、没有副作用,意思是说,函数内部与外部互动,不会导致说全局变量的值被改变的情况,意味着函数要保持独立,所有的功能就是返回一个新的值,没有其它的行为

4、不修改状态,除了不修改系统变量之外,不修改变量也是他的一个非常重要的特点,所以,函数式编程使用参数保存状态,

5、引用透明,任何时候只要参数相同,引用函数所得到的返回值总是相同的

优势,或者使用函数式编程的意义

1、大量使用函数,减少了代码重复,开发速度较快,这个代码体量的缩减幅度是非常大的,极端的时候,甚至可以达到20倍

2、函数式编程自由度很高,接近自然语言,所以看起来更容易理解

3、由于没有副作用,同一个输入一定得到同一个输出,这很有利于进行单元测试,排错,可以为模块化组合提供更方便的基础

4、有利于并发编程,由于他不修改变量,没有副作用的特性,所以根本不存在锁和线程的问题,不用担心这个线程的数据被另外一个线程修改

所以你可以很放心的把他分摊到多个线程来做

algorithm
51 views
Comments
登录后评论
Sign In
·

函数式优点就是代码简短一点,且方便复用测试,不过即使是 go 这种语言,也不是函数式的,需要很多面向对象的特性来补全语言功能