scala的传值调用和传名调用
共用代码:
//传值调用和传名调用
var money = 100
//定义一个花钱的方法
//花钱
def buy(): Unit ={
money -= 5
}
//查询
def see()={
buy()
money
}
传值调用
当传入参数为一个具体的数值时,参数的值一旦确定,就不会改变。
def value(x:Int): Unit ={
for(i <- 1 to 5){
println("money="+ x )
}
}
value(see())运行结果:
money=95
money=95
money=95
money=95
money=95
传名调用(函数)
将函数作为参数,假设接收该函数返回值的变量为x,每当方法体内部调用该变量的时候,该变量所对应的函数也会相应的执行一次。
def key(x: => Int): Unit ={
for(i <- 1 to 5){
println("money="+ x )
}
}
key(see())的执行结果为:
money=90
money=85
money=80
money=75
money=70