格式:def函数名(参数1=‘默认值1’,参数2=‘默认值2’.......)
代码如下:scala可支持传入数量不等的参数,定义在变量后面加*表示在后面传入多少个参数都可以
当不传入参数是时,就是最开始定义的那个默认值 ,但当函数传递值时会覆盖默认值
object TestFuncDefaultParam {
//如果不传入参数,就使用对应的默认值
def addxy(x:Int =100,y:Int =200): Int ={
x+y
}
//如果一个函数,没有参数,可以省略:定义 和 调用时()
def f:Unit ={
println("ffxxxxf")
}
//支持传入数量不等的参数
//(1)定义时,在变量的后面加*
//例子,支持传入数量不等的参数,求它们的和
def getSum(args: Int*): Int = {
println(args)//是一个集合,把所有的参数都装入
var sum = 0
for (i <- args) {
sum += i //求和
}
sum
}
def main(args: Array[String]): Unit = {
println(addxy())//x,y都不传入
println(addxy(x=1,2))//x传入 300+200
println(addxy(y=300))//y传入 100+300
f
println(getSum(1,2))
println(getSum(1,2,10))
}
}