Scala 中函数的多种参数形式及可变参数

Scala 中函数的多种参数形式及可变参数

object Test03_FuncArgs {
  def main(args: Array[String]): Unit = {
    //(1)可变参数  加一个*就可以了
    def sayHi(names:String*):Unit = {
      println(s"hi $names")
    }
    sayHi()
    sayHi("linhai")
    sayHi("linhai","jinliang")

    //(2)如果参数列表中存在多个参数,那么可变参数一般放置在最后
    // 即使数据类型不一致,能够区分,也不行,也得放到前面去
    def sayHi2(sex:String,names:String*):Unit = {
      println(s"$names 是$sex 的")
    }

    //(3)参数默认值,一般将有默认值的参数放置在参数列表的后面
    def sayHi3(name:String = "linhai"):Unit = {
      println(s"hi $name")
      // 不填写参数的话,就默认name = linhai
      sayHi3("natuo")
    }
    def sayHi4(name:String = "lihai",age:Int):Unit = {
      println(s"$age 岁的$name")
    }
//    sayHi4("zhangsan",13)

//    sayHi4(,12)  前面必须写了

    //(4)带名参数
    sayHi4(age = 13)


  }

}

你可能感兴趣的:(笔记,scala)