object ControlAbstraction {
def main(args: Array[String]): Unit = {
// 传值参数,传递的是具体的值
def f0(a: Int) = {
println("a: " + a)
println("a: " + a)
}
def f1():Int = {
println("f1调用")
12
}
f0(f1())
/*
调用了两次传递的值
f1调用
a: 12
a: 12
*/
// 传名参数,传递的不再是具体的值,而是代码块
def f2(a: =>Int) = {
println("a: " + a)
println("a: " + a)
}
f2(f1())
/*
调用了两次函数
f1调用
a: 12
f1调用
a: 12
*/
f2({
println("这是一个代码块")
21
})
/*
这是一个代码块
a: 21
这是一个代码块
a: 21
*/
}
}
Scala抽象控制
最新推荐文章于 2023-02-23 19:25:48 发布