// : => 指定参数是按名调用的 不会先计算与参数相关的计算 真正用到参数时才会计算 def callbyName(firstNum: => Int) = { println(firstNum) //1+2=3 println(firstNum)//1+2=3 println(firstNum)//1+2=3 println(firstNum)//1+2=3 //总共运算四次 } callbyName(1 + 2) println("-------------") //按值调用 只在调用的时候执行一次计算后,每次使用的都是计算的结果 def callbyValue(firstNum : Int) = { println(firstNum) // 3 println(firstNum)// 3 println(firstNum)// 3 println(firstNum)// 3 } callbyValue(1 + 2 )//先计算参数表达式的结果
简述scala中参数按名传递与按值传递的区别
最新推荐文章于 2022-02-10 22:47:10 发布