函数参数

71 阅读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()

这个例子导出的结果是

你好,我是小花,今年18岁,我的性别是:女

你好,我是小花,今年18岁,我的性别是:女

你好,我是小花,今年17岁,我的性别是:女

你好,我是小张,今年17岁,我的性别是:女

可变参数

  1. 可变参数:用来接收同一类型的多个参数
  2. 格式:参数类型*

例题一

如何定义一个函数,它能接收数量不定的参数,并计算它们的累加?例如: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)
  val rst2=getSum(1,2,3,4)
  val rst3=getSum(1,2)
  println(rst1,rst2,rst3)
}

上述代码输出的结果为(6,10,3)