scala的传值参数和传名参数
生活随笔
收集整理的這篇文章主要介紹了
scala的传值参数和传名参数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
object ScalaDemo extends App{var n = 10def count:Int = {n -= 1n}def invokeByName(x : => Int):Unit = {println("start")for (i <- 0 until 3){println("invokeByName x = " + x) //不能使用x()}println("end")}def invokeByName2(x : () => Int):Unit = {println("start")for (i <- 0 until 3){println("invokeByName2 x = " + x())}println("end")}def invokeByValue(x : Int):Unit = {println("start")for (i <- 0 until 3){println("invokeByValue x = " + x)}println("end")}//統(tǒng)一初始化invokeByName{println("begin invokeByName")count}invokeByName2{println("begin invokeByName2")() => {n -= 1n}}invokeByValue{println("begin invokeByValue")count}}
輸出?
start
begin invokeByName
invokeByName x = 9
begin invokeByName
invokeByName x = 8
begin invokeByName
invokeByName x = 7
end
begin invokeByName2
start
invokeByName2 x = 6
invokeByName2 x = 5
invokeByName2 x = 4
end
begin invokeByValue
start
invokeByValue x = 3
invokeByValue x = 3
invokeByValue x = 3
end
總結(jié)
以上是生活随笔為你收集整理的scala的传值参数和传名参数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国金融体系(金融机构,金融市场,金融基
- 下一篇: Python线程、进程、进程池、协程