传值调用
object Test {
def main(args: Array[String]) {
delayed(time());
}
def time() = {
println("获取时间,单位为纳秒")
System.nanoTime
}
def delayed( t: Long ) = {
println("在 delayed 方法内")
println("参数: " + t)
print("参数: " + t)
}
}
结果:
image.png
传名调用
object Test {
def main(args: Array[String]) {
delayed(time());
}
def time() = {
println("获取时间,单位为纳秒")
System.nanoTime
}
def delayed( t: => Long ) = {
println("在 delayed 方法内")
println("参数: " + t)
print("参数: " + t)
}
}
结果:
image.png
传值调用:先计算表达式的值,在函数体内部不会改变
传名调用:在函数体内,调用一次计算一次
网友评论