国庆前,参与了一个c# .net 项目,真正重新体验了一把搬砖感觉:在一个多月时间好像不加任何思考,不断敲键盘加代码。我想,这也许是行业内大部分中小型公司程序猿的真实写照:都是坐在电脑前的搬砖工人。不过也不是没有任何收获,在搬砖的过程中我似乎发现了一些现象和造成这些现象背后的原因及OOP思维、习惯模 ...
通过对计算机和编程语言发展史的阐述,找到函数式编程的时代背景。通过对与函数式编程强相关的人物介绍,来探寻和感受函数式编程的那些不为人知的本质 ...
分类:
Web程序 时间:
2019-10-07 13:35:15
阅读次数:
101
Java 8的Lambda表达式借鉴了C#和Scala等语言中的类似特性,简化了匿名函数的表达方式。Lambda表达式可以直接以内联的形式为函数式接口的抽象方法提供实现,并把整个表达式作为函数式接口的实例。什么是函数式接口?简单来说就是只包含一个抽象方法的接口,允许有默认的实现(使用default关 ...
分类:
编程语言 时间:
2019-10-05 20:51:59
阅读次数:
95
在上一节中,我们为了使用Lambda表达式不得不创建了各种函数描述符的函数式接口,其实Java 8已经给我们提供了一套能够描述常见函数描述符的函数式接口。比如Predicate<T>、Consumer<T>、Function<T,R>、Supplier<T>等,这些函数式接口位于java.util. ...
分类:
编程语言 时间:
2019-10-05 20:41:10
阅读次数:
85
1、函数式编程 1.1 高阶函数 把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式 函数名也是变量,函数名其实就是指向函数的变量!对于abs()这个函数,完全可以把函数名abs看成变量,它指向一个可以计算绝对值的函数 1.2 map/reduce 1.2.1 map ...
分类:
编程语言 时间:
2019-10-05 00:43:45
阅读次数:
88
python中偏函数 当一个函数有很多参数时,调用者就需要提供多个参数。如果减少参数个数,就可以简化调用者的负担。 比如,int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换: >>> int('12345') 12345 但int()函数还提供额外的base参数, ...
分类:
编程语言 时间:
2019-10-04 17:13:57
阅读次数:
100
python中匿名函数 高阶函数可以接收函数做参数,有些时候,我们不需要显式地定义函数,直接传入匿名函数更方便。 在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算 f(x)=x2 时,除了定义一个f(x)的函数外,还可以直接传入匿名函数: 1 >>> map(lambda ...
分类:
编程语言 时间:
2019-10-04 14:54:01
阅读次数:
82
常用函数式接口 仅含有一个抽象方法的接口(不是只有一个方法) 该接口常与Lambda表达式相联系 Lambda表达式延迟加载,可避免性能浪费 Supplier 生产型接口 java.util.function.Supplier 接口仅包含一个无参的方法:T get(),用来获取一个泛型参数指定类型的 ...
分类:
其他好文 时间:
2019-10-04 11:44:38
阅读次数:
107
一.面向对象初始 函数式编程相较于面向过程编程的优点 面向对象编程相较于函数编程的优点 概念 类的结构 类的结构从大方向来说就分为两部分: 1.静态变量 2.动态方法 "Top" 二.从类名的角度研究类 类名操作静态属性 1.查看类中所有内容,__dic__方式 2.万能的. 类名操作动态方法 除了 ...
分类:
其他好文 时间:
2019-10-03 20:21:31
阅读次数:
83
定义:"Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式。 好处:Lambda简化了匿名委托的使用,减少开发中需要编写的代码量。 写法:所有Lambda表达式都使用Lambda运算符=>,该运算符读作"goes to"。Lambda运算符的左边是输入参数(如果有),右边是表达 ...