标签:sum 调用 有一个 容器 形式 lock 部分 cal val
保留部分参数,避免重复编写
object FuncApp extends App {
// 一般函数
def sum(a:Int,b:Int,c:Int)= a+b+c
// 只保留后两位参数,使用占位符语法
val a = sum(1,_:Int,_:Int)
a(2,3) // 等效于调用 sum(1,2,3)
// 保留全部
val b = sum _
b(1,2,3) // 6
}
分开参数列表
// 原来的函数形式
def sum1(a:Int,b:Int) = a+b
// currying:将参数分开,在Spark SQL应用较多
def sum2(a:Int)(b:Int) = a+b
sum2(2)(3) // 5
val l = List(1,2,3,4,5,6,7,8)
// 匿名函数赋予变量
val f = (i:Int)=>println(i)
// 容器遍历
l.foreach(f)
l.foreach(i=>println(i))
// 仅限接收参数只有一个时
l.foreach(println)
标签:sum 调用 有一个 容器 形式 lock 部分 cal val
原文地址:https://www.cnblogs.com/JZTX123/p/10623621.html