函数参数

42 阅读1分钟

一、函数参数的默认值

1. 定义有默认值的函数

格式

def 函数名(参数1:类型1=默认值1,参数2:类型2=默认值2)

示例:

定义一个函数,并使用不同的参数来测试使用。

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)
}

二、创建不带()的方法

如果函数没有参数,可以省略定义函数时的( )

格式:def 方法名:[返回类型]={}

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

}    
sayHello // 不用加()

三、创建接受变参的方法

示例:

如何定义一个函数,它能接收数量不定的参数,并计算它们的累加?

// 可变参数:用来接受同一类型的多个参数
  // 格式:参数类型*
  // 要点:
  //  1.类型要一致
  //  2.可变参数必须在列表的最后
  def getSum(args:Int*):Int={
//    println(a)
//    1
    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)
  }

}