闭包函数
代码
//闭包函数 返回结果 依赖外部参数
object FunDemo1 extends App {
//正常函数
val mult=(x:Int)=>{x*5}
//闭包函数
var factor=5//依赖参数
//闭包函数mult1
val mult1=(x:Int)=>x*factor
println("闭包函数(mult1):在factor="+factor+ "时,结果为 "+mult1(10))
factor = 10
println("闭包函数(mult1):在factor="+factor+ "时,结果为 "+mult1(10))
//闭包函数mult2
val mult2=(x:Int)=>{
factor=factor+10
x*factor
}
println("调用闭包函数之前factor为:"+factor)
println("闭包函数(mult2):"+mult2(8))
println("调用闭包函数之后factor为:"+factor)
}
运行结果
闭包函数(mult1):在factor=5时,结果为 50
闭包函数(mult1):在factor=10时,结果为 100
调用闭包函数之前factor为:10
闭包函数(mult2):160
调用闭包函数之后factor为:20
Process finished with exit code 0