1.scala的函数的默认值
传递参数的方式:①:函数使用默认值时可以不用传递参数。当函数传递值时会覆盖默认值,如果函数没有传递值,则会取默认值为参数。
②:可以用参数名指定传递参数。当使用这种方式传递参数时,因为已经指定了变量名,所以不需要固定参数的前后顺序。只有在没有指定变量名时,参数的前后顺序才需要固定。
格式:def 函数名(参数1:类型1='默认值1',参数2:类型2='默认值2')
参数默认值实例如下:
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))
}
}