说,首先,我有这个功能:
def number5()={
println("number 5 starting")
println("number 5 exiting")
5
}
接着:
def giveMeCallByNameParameter(f: =>Int)={
println("starting")
f
println("exiting")
}
当我调用它时:
giveMeCallByNameParameter(number5)
我得到这个结果:
starting
number 5 starting
number 5 exiting
exiting
如果我也有这个功能:
def giveMeAnotherFunction(f: ()=>Int)={
println("starting")
f()
println("exiting")
}
我称之为:
giveMeAnotherFunction(number5)
我得到相同的结果:
starting
number 5 starting
number 5 exiting
exiting
那么,它们有什么不同吗?除了有或没有括号的区别吗?
如果他们没有不同?那么为什么我们有这个术语的名称呢?