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 | 对数据集进行分组 | ![]() |







浙公网安备 33010602011771号