scala系列知识点总结(函数高级篇)

本文深入探讨Scala函数的高级特性,包括匿名函数、函数柯里化、闭包和高阶函数。通过示例解释了如何使用这些特性,展示它们在函数式编程中的重要性。
摘要由CSDN通过智能技术生成

这一篇是单独讲函数的高级特性,因为scala的精髓就是函数式编程,而函数式编程的精髓就在于他的高级特性。话不多说,直奔主题。


1. 匿名函数

匿名函数可以说是高级特性的基础,很多奇技淫巧都构建在他的基础之上。匿名函数即lambda表达式,基于数学中的λ演算得名(这里面有更深奥的数学理论,有兴趣可以去研究一下)。匿名函数的书写形式如下:

(x:Int) => {x+1}

也可以用一个变量来接收这个匿名函数:

var func= (x:Int) => {x+1}

然后就可以像这样调用:

var result = func(7)-1


你可以尽情发挥你的想象,把匿名函数放在几乎你想放的任何地方。它的好处是”不污染环境“,什么意思自己体会。这就是lambda表达式的神奇之处。

作为函数的参数你可以这样:

def func(fc:(T)=>Boolean)={}  //定义一个接收函数的参数

func((i)=>{if(i>5) true})   //调用这个函数,传进去一个匿名函数


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值