面向过程: 1.搜索目标 2.表白 3.恋爱 4.见家长 5结婚 函数式编程: def cal(x): return x*2 + 1 a.不可变,不用变量保存状态,不修改变量 非函数式 a=1 def inc(): global a a+=1 #有改值 return a b.第一类对象:函数对"变量 ...
分类:
其他好文 时间:
2018-09-05 09:15:37
阅读次数:
132
众所周知,scala作为一门极客型的函数式编程语言,支持的特性包括: 函数拥有“一等公民”身份; 支持匿名函数(函数字面量) 支持高阶函数 支持闭包 部分应用函数 柯里化 首先需要指出,在scala中有方法和函数对象两种形态,方法即是通过def关键字定义的函数,而函数对象则是通过将方法转换而来,或l ...
分类:
其他好文 时间:
2018-09-04 23:31:24
阅读次数:
227
1.数据类型:字符串,列表,元组,字典,集合。处理每种数据类型的函数 2.判断与循环部分 3.高级函数:lambda,map,reduce,filter 4.自定义模块以及第三方模块 5.函数式编程 6.文件读写编程 7.面向对象编程 8.正则表达 9.线程与进程 ...
分类:
编程语言 时间:
2018-09-03 12:09:28
阅读次数:
132
编程范式: 命令式编程(Imperative) 声明式编程(Declarative) 函数式编程(Functional) 面向对象、泛型、元编程 也都是很主要的编程范式 命令式编程 : 命令式编程的主要思想是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么 声明式编程 : 声明式编程是以数 ...
分类:
其他好文 时间:
2018-09-02 23:57:34
阅读次数:
288
一、接口注解(@FunctionalInterface) 二、引用 引用静态方法:类名称 :: static方法名称 引用某个对象方法:实例化对象 :: 普通方法名称 引用某个特定类的方法:类名称 :: 普通方法名称 引用构造方法:类名称 :: new 。 ...
分类:
其他好文 时间:
2018-09-01 15:20:56
阅读次数:
152
原文出处: 王爵nice 从java8出现以来lambda是最重要的特性之一,它可以让我们用简洁流畅的代码完成一个功能。 很长一段时间java被吐槽是冗余和缺乏函数式编程能力的语言,随着函数式编程的流行java8种也引入了 这种编程风格。在此之前我们都在写匿名内部类干这些事,但有时候这不是好的做法, ...
分类:
编程语言 时间:
2018-08-31 19:30:00
阅读次数:
194
JDK8 Stream 是一个支持泛型和函数式数据流,使用起来非常强大方便。最近我在学习 go 语言,我就用 go 模仿写了一下类似的功能,由于 go 对泛型、函数式的支持比较有限,感觉泛型和函数式这一块实现起来有些别扭(更郁闷的是点操作符不能换行,更实现不了流式操作的代码排版),可能是我不会用,不... ...
分类:
编程语言 时间:
2018-08-30 14:23:35
阅读次数:
223
比较器 @FunctionalInterfacepublic interface Comparator<T> { int compare(T o1, T o2); } @FunctionalInterface 指的是功能性函数接口,里面只有一个方法。 对于Comparable接口来说,它往往是进行比 ...
分类:
其他好文 时间:
2018-08-29 10:39:58
阅读次数:
164
飞机票 lambda只是一个表达式,函数体比def简单很多。 lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。 lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。 如下例子: 定义了一个lambda表达式,求三个数的和。 再 ...
分类:
编程语言 时间:
2018-08-28 21:15:06
阅读次数:
194
1.定义 闭包是函数式编程的一个重要的语法结构,函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见到过函数(function);在面向对象编程中,我们见过对象(object)。函数和对象的根本目的是以某种逻辑方式组织代码,并提高代码的可重复使用性(re ...
分类:
编程语言 时间:
2018-08-28 13:11:41
阅读次数:
193