1. 值调用:把计算后的值传递过去 ```scala def f0(a: Int): Unit = { println(“a: “ + a) } f0(23) println(“========================”)

    def f1(): Int = { println(“f1调用”) 12 } f0(f1())

    println(“========================”)

    1. 2. 名调用:把代码传递过去
    2. ```scala
    3. def f1(): Int = {
    4. println("f1调用")
    5. 12
    6. }
    7. def f2(a: =>Int): Unit = {
    8. println("a: " + a)
    9. }
    10. f2(23)
    11. // 可以传函数名过去
    12. f2(f1())
    13. //把函数名变为代码块 () => Int, 最后一行是返回值
    14. f2({
    15. println("这是一个代码块")
    16. 29
    17. })