函数参数

52 阅读1分钟

函数参数的默认值

1. 定义有默认值的函数

格式:

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

object Day09 {

  def greet(name:String="哈哈",age:Int=18,gender:String="女"):Unit = {
    println(s"我是${name},我今年${age},${gender}")
  }
  def main(args: Array[String]): Unit = {
    greet("小花",18)
    greet("小明",20,"男")
    greet()
    }
}

2. 定义没有有默认值的函数

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

格式:

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

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

}    
sayHello // 不用加()

创建接受变参的方法

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

在Scala中创建接受变参的方法为:参数类型*,这种方式只能接受同一类型的参数。

object practice13 {
  def greet(name: String, score: Int*): Unit = {
    var total: Double = 0
    for (i <- score) {
      total += i
    }
    val avg = total / score.length
    println(s"${name}, 平均分是:${avg}")
  }

  def main(args: Array[String]): Unit = {
    greet("小花", 90, 100, 98, 100, 60)
    greet("小明", 80, 88)
    greet("小张", 90)
  }
}