函数参数问题

27 阅读1分钟

(一)自我介绍问题

1.当我想要对我自我介绍的时候,就比如:我叫什么名字,我今年多大,我是什么性别。可以输入以下代码。

object base36 {
  // gender:
  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()
  }
}
运行结果如图所示:

image.png 当然,上面这串代码具有强烈的实用性,就比如当我把名字年龄性别介绍完以后,如果加一点其它的东西,只需要在greet,println等加入相应的代码即可。

2.如何灵活地调用带有默认值的函数。

很多函数都具有默认值,所以在表达完特殊值想要表达默认值的时候,可以输入以下代码:

object base36 {

  // gender
  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()

    // 设置age为20,其他采用默认值
    // 传参数的时候,指定参数的名字
    greet(age = 20)
    greet(gender = "男", age = 20)
  }
}

运行结果如图所示:

image.png 可以看到,上面两个是特殊值的表达,下面三个是默认值的表达。