scala高级特性-01
Posted 蜗牛不爱海绵宝宝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala高级特性-01相关的知识,希望对你有一定的参考价值。
目标一:深入理解高阶函数
高阶函数
1.1概念
Scala混合了面向对象和函数式的特性,
我们通常将可以做为参数传递到方法中的表达式叫做函数。
在函数式编程语言中,函数是“头等公民”,
高阶函数包含:作为值的函数、匿名函数、闭包、柯里化等等。
1.2作为值的函数(故名思议:函数的值作为返回值)
1.3匿名函数
在scala中,你不需要给每一个函数命名,没有将函数赋给变量的函数叫做匿名函数
由于scala可以自动推断出参数的类型,所以可以写的精简一些
还记的神奇的下划线吗?这才是终结方式
1.4将方法转换成函数
在scala中,方法和函数式不一样的,最本质的区别是函数可以作
为参数传递到方法中,但是方法可以别转换成函数,
神奇下划线有出现了
1.5柯里化
柯里化指的是原来接受两个参数的方法变成新的接受一个参数的方法的过程
第一种方法:def m(x:Int)=(y:Int)=>x*y
第二种方法:def m(x:Int)(y:Int) =x*y
下一节介绍隐式转换和隐士参数
Merry Christmas
以上是关于scala高级特性-01的主要内容,如果未能解决你的问题,请参考以下文章
scala 高级十六 scala 集合和集合的高级特性 map flatten fllatmap zip reduce zip 等操作