6.Scala函数
一.函数自定义
1.函数定义
def 函数名(参数列表):数据类型={运算表达式}
def add(a:Int,b:Int):Int={a+b}
2.类中定义函数
object Test{
def 函数名():数据类型={
运算步骤
}
}
3.匿名函数
(参数列表=>{运算表达式}
(x:Int,y:Int)=>{x+y}
(_Int)+(_Int)
4.高阶函数
操作其他函数的函数
①使用匿名函数
def 函数名(匿名函数)=匿名函数()
②逐步传参_产生新函数
- 步骤1
def r(i:Int)=(h:Int)=>(i+h)*2
((i:Double)+(h:Double))*2
- 步骤2
val a=r(4)
((4:Double)+(h:Double))*2
- 步骤3
a(5)
((4:Double)+(5:Double))*2
18:Double
5.函数柯里化(区别高阶函数)
def 函数名(参数1)(参数2)..(参数n):数据结构={参数1+参数2+....参数n}
def a(a:Int)(b:Int):Int={a+b}
a(1)(2)
二.初级常用函数
函数名 | 作用 | 示例 |
---|---|---|
map | 重新计算数据集中的元素并返回新列表 | |
foreach | 没有map的返回功能 | |
filter | 过滤返回值为false的元素 | |
flattern | 将数据集展开成一维 | |
flatMap | map功能+flattern功能 | |
groupBy | 对数据集进行分组 |