函数式编程

2020-05-23  本文已影响0人  小麻烦爱学习

函数式编程是一种编程范式.还有声明式编程,命令式编程.

函数式编程: 函数是第一位,既可以作为函数的参数,也可以作为函数的返回值.

命令式编程(过程化编程): 关注执行步骤,常见的编程语言都可以见到,比如javascript的for/while循环

声明式编程(指令式编程): 告诉计算机应该做什么,具体怎么做不关心.比如sql语句,html,css. 不存在变量,控制for/while等语句.

特性

闭包和高阶函数
函数可以是另一个函数的参数也可以是函数的返回值.当函数作为参数时,就形成了高阶函数. 当函数是返回值时,就形成了闭包. 所以函数式编程的特点:闭包和高阶函数.

惰性计算
表达式不是在绑定到变量时立即计算,而是在求值程序需要产生表达式的值时进行计算

递归
用递归做为控制流程的机制(并不是很明白???)

特点

函数是"第一等公民"

只用"表达式",不用"语句"

没有"副作用"

不修改状态

引用透明性

优点

  1. 代码简洁,开发快速
  2. 接近自然语言,易于理解
  3. 更方便的代码管理
  4. 易于"并发编程"
  5. 代码的热升级

缺点

函数式编程常被认为严重耗费在CPU和存储器资源

上一篇 下一篇

猜你喜欢

热点阅读