傳值調(diào)用
object Test {
def main(args: Array[String]) {
delayed(time());
}
def time() = {
println("獲取時(shí)間,單位為納秒")
System.nanoTime
}
def delayed( t: Long ) = {
println("在 delayed 方法內(nèi)")
println("參數(shù): " + t)
print("參數(shù): " + t)
}
}
結(jié)果:
image.png
傳名調(diào)用
object Test {
def main(args: Array[String]) {
delayed(time());
}
def time() = {
println("獲取時(shí)間,單位為納秒")
System.nanoTime
}
def delayed( t: => Long ) = {
println("在 delayed 方法內(nèi)")
println("參數(shù): " + t)
print("參數(shù): " + t)
}
}
結(jié)果:
image.png
傳值調(diào)用:先計(jì)算表達(dá)式的值,在函數(shù)體內(nèi)部不會(huì)改變
傳名調(diào)用:在函數(shù)體內(nèi),調(diào)用一次計(jì)算一次