函数参数

37 阅读1分钟

1.函数参数的默认值

//参数默认值:如果在调用的时候,没有传入

 //格式:参数名:类型=默认值

 def greet(name:String="小张",age:Int=17,gender:String="女"):Unit={
   println(s"你好,我是${name},我今年${age}岁,我的性别是:${gender}")
 }

 def main(args: Array[String]): Unit = {
   greet("小花",18,"女")
   greet("小花",18)
   greet("小花")
   greet()

   //设置年龄为20,其他两个参数使用默认值
   greet(age=20)
   greet(gender = "男",age = 20)
 }

2.创建不带()的方法

def sayHello: Unit = {    
println("hello")

}    
sayHello // 不用加()

3.创建接受变参的方法

如何定义一个函数,它能接收数量不定的参数,并计算它们的累加?例如:getSum(1,2,3) 得到6, getSum(1,2,3,4) 得到10?

//可变参数:用来接受同一类型的多个参数
//格式:参数类型*
//要点:
//1.类型要一致
//2.可变参数必须在列表的最后
def getSum(args: Int*): Int = {
   var sum=0
  for (i<-args){
    sum+=i
  }
  sum
}

def main(args: Array[String]): Unit = {
  val rst1=getSum(1,2,3)//6
  val rst2=getSum(1,2,3,4)//10
  val rst3=getSum(1,2)//3
  println(rst1,rst2,rst3)
}