引言
会涉及
_ (下划线)
的其中一个用法
Scala 的宗旨:至简。所以把 匿名函数 作为函数的参数,可以进行很大程度的简化
有一个参数的简化
定义一个函数
def fun(f: Int => Unit): Unit = { f(12) }
执行函数
传入 匿名函数
fun( (a: Int) => {println(a)} )
匿名函数的参数类型,可以被自动推断出来,可以简化
fun((a) => {println(a)})
参数只有一个,代码在一行,代码块括号可以简化
fun(a => println(a))
下面是 println() 函数的特殊简化,println() 本身也是一个函数
参数后面只用一次,可以用_ (下划线)
代替
fun(println(_)) fun(println) --------------- 12
有多个参数的简化
定义一个函数(两个参数)
def fn(f: (Int,Int) => Int): Unit = { println(f(12,23)) }
执行函数
传入 匿名函数
fn((a: Int,b: Int) => {a + b})
匿名函数的
参数类型
,可以被自动推断
出来,可以简化
fn((a,b) => {a+b})
代码在一行,代码块括号可以进一步简化
fn((a,b) => a + b)
如果参数只用了一次可以使用 _
fn(_+_) ------- 35
版权声明:《 Scala 匿名函数 作为参数 传入函数 的简化过程 》为明妃原创文章,转载请注明出处!
最后编辑:2020-2-1 10:02:42