aaa

40 阅读1分钟

函数参数的默认值

  •  定义有默认值的函数

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

如下:

scala
 体验AI代码助手
 代码解读
复制代码
def gree(name:String="嘻嘻",age:Int,grnder:String="女"):Unit = {
  println(s"我是${name},我今年${age},${grnder}")
}

def main(args: Array[String]): Unit = {
  gree("小花",18) //默认值为 “女”
  gree("小杰",20,"男")
}

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

//运行结果
我是嘻嘻,我今年22,女
我是嘻嘻,我今年20,男
我是小花,我今年18,女
我是小杰,我今年20,男
我是嘻嘻,我今年19,女
  • 创建不带( )的方法

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

如果在定义函数的时候没有写() 那么 在调用函数的时候 也不要加()

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

如下:

scala
 体验AI代码助手
 代码解读
复制代码
def sayHello: Unit = {    
println("hello")
}    
sayHello // 不用加()
scala
 体验AI代码助手
 代码解读
复制代码
def gree():Unit = {
  println(s"hahahaha~~~")
  }

  def main(args: Array[String]): Unit = {
//    如果在定义函数的时候没有写() 那么 在调用函数的时候 也不要加()
    gree()
  }

R-C.gif

满足以下要求:

传入不同的参数的函数

第一个参数是学生的名字;从第二个参数开始,是这个学生的某些个学科的得分

注意:允许传入不同个数,但是类型相同的参数

代码如下:

scala
 体验AI代码助手
 代码解读
复制代码
// Int*
// score 是一个列表
//array 数组

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, 80)
  greet("小绿", 90)
}

运行结果:

scala
 体验AI代码助手
 代码解读
复制代码
小花,平均分是:89.6
小明,平均分是:80.0
小绿,平均分是:90.0

创建接受变参的方法

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

20200404182749_Q4hAr.gif