Scala中 => Unit 与 () =>Unit的区别
def test(code : => Unit){ println("start") code // 这行才会调用传入的代码块,写成code()亦可
println("end") } test{// 此处的代码块不会马上被调用
println("when evaluated") println("bb") }
结果 start
when evaluated
bb
end
注意: 而 def test1(code: ()=>Unit){ println("start") code() // 要想调用传入的代码块,必须写成code(),否则不会调用。
println("end") } test1 {//此代码块,传入后立即执行。
println("when evaluated") ()=>{println("bb")} }
结果: when evaluated
start
bb
end
注意: 实际上,在第二例当中, 其实 最后,提供对等用例 object FunctionTest2 { def main(args: Array[String]) { def test(code: => Unit) { println("start") code println("end") } test { println("when evaluated") println("bb") } def test1(code: () => Unit) { println("start") code() println("end") } test1 { () => println("when evaluated") println("bb") } } }
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |