2021年大数据常用语言Scala(三十七):scala高级用法 高阶函数用法

【摘要】 目录
高阶函数用法
作为值的函数
匿名函数
柯里化(多参数列表)
闭包

高阶函数用法
Scala 混合了面向对象和函数式的特性,在函数式编程语言中,函数是“头等公民”,它和Int、String、Class等其他类型处于同等的地位,可以像其他任何数据类型一样被传递和操作。
高阶函数包含:作为值的函数、匿名函数、闭包、柯里化等等。
 
作为值的函数
在sc…

目录

高阶函数用法

作为值的函数

匿名函数

柯里化(多参数列表)

闭包


高阶函数用法

Scala 混合了面向对象和函数式的特性,在函数式编程语言中,函数是“头等公民”,它和Int、String、Class等其他类型处于同等的地位,可以像其他任何数据类型一样被传递和操作。

高阶函数包含:作为值的函数、匿名函数、闭包、柯里化等等。

作为值的函数

在scala中,函数就像和数字、字符串一样,可以将函数传递给一个方法。我们可以对算法进行封装,然后将具体的动作传递给算法,这种特性很有用。

我们之前学习过List的map方法,它就可以接收一个函数,完成List的转换。

示例:将一个小数列表中的每个元素转换为对应个数的小星星

List(1, 2, 3…) => *, \, \

代码:


val list = List(1, 2, 3, 4)
// 字符串*方法,表示生成指定数量的字符串
val func_num2star = (num:Int) => "*" * num
print(list.map(func_num2star))

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享