您当前的位置: 首页 >  scala

171 Scala 高阶函数

杨林伟 发布时间:2019-08-14 11:06:01 ,浏览量:1

Scala混合了面向对象和函数式的特性,我们通常将可以做为参数传递到方法中的表达式叫做函数。在函数式编程语言中,函数是“头等公民”,高阶函数包含:作为值的函数、匿名函数、闭包、柯里化等等。

1.作为值的函数

可以像任何其他数据类型一样被传递和操作的函数,每当你想要给算法传入具体动作时这个特性就会变得非常有用。 在这里插入图片描述 定义函数时格式:val 变量名 = (输入参数类型和个数) => 函数实现和返回值类型和个数。

“=”表示将函数赋给一个变量。

“=>”左面表示输入参数名称、类型和个数,右边表示函数的实现和返回值类型和参数个数。

2.匿名函数

在Scala中,你不需要给每一个函数命名,没有将函数赋给变量的函数叫做匿名函数。 在这里插入图片描述 由于Scala可以自动推断出参数的类型,所有可以写的跟精简一些。 在这里插入图片描述 还记得神奇的下划线吗?这才是终极方式。 在这里插入图片描述

3.将方法转换成函数

在Scala中,方法和函数是不一样的,最本质的区别是函数可以做为参数传递到方法中。

但是方法可以被转换成函数,神奇的下划线又出场了。 在这里插入图片描述

4.柯里化

柯里化指的是将原来接受两个参数的方法变成新的接受一个参数的方法的过程。

关注
打赏
1688896170
查看更多评论

杨林伟

暂无认证

  • 1浏览

    0关注

    3183博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0485s