实话实说,“函数式编程”是一个很大的话题
。 ,,,估计有同学会问的“函数式”。估计有同学会问,啥是“范式”,这又是一个很好的问题。 ”就是指编程的套路。比方说大家很简单的OOP,就是一种“编程范式”。FP跟OOP一样,都是编程的套路。做个简单的类比:OP以“对象/类”作为程序设计的内核,而 FP 以“函数”作为程序设计的内核。
写什么FP,自然要说一下FP的特色。
刚才那句话,FP就是函数为中心。如此,在支持FP的语言中,函数的功能自然十分牛X。通俗的说法,OOP语言中,/对象能干的事情,FP语言中的函数也是
OOP 中,对象可以互派作为函数中的函数值;OOP
中,可以作为函数的函数/交互参数,FP 中,可以可以有
OOP的参数,可以定义 FP 类型的函数;可以定义 FP 类型
的函数。
函数输入时不要有“副作用”没有任何副作用的功能,在中文字完全调用纯功能输出。一样,输出就一样。
要成为纯函数,函数内部不能读写游戏外部、不能设备I/O(比如读写文件)……
无副作用是FP的重要特性。FP的很多特性都来自于。
在 FP 中,尽量避免使用控制语句(语句、判断代码)。对于控制语句,FP 有另外的替代方式。比如:常用循环语句或高阶函数来循环循环。这个颜色更近,更可能。
多态支持FP的语言,也都支持多态化,能够实现非常灵活的功能