Scala入门-默认参数值(Default Parameter Values)
Posted CoreDumper
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala入门-默认参数值(Default Parameter Values)相关的知识,希望对你有一定的参考价值。
默认参数值(Default Parameter Values)
Scala中可以为参数提供默认值,从而允许在调用时省略那些参数。
def log(message: String, level: String = "INFO") = println(s"$level: $message")
log("System starting") // prints INFO: System starting
log("User not found", "WARNING") // prints WARNING: User not found
参数level具有默认值,所以它是可选的。在代码最后一行,参数值"WARNING"覆盖了默认值"INFO"。在Java中你可以重载方法,在Scala中你可以用带有可选参数的方法实现相同的效果。然而,如果调用时省略了一个参数,该参数后面的所有参数都必须写明参数名。
class Point(val x: Double = 0, val y: Double = 0)
val point1 = new Point(y = 1)
这里我们必须使用y = 1
。
注意当从Java代码调用时,Scala中的默认参数就不是可选的了:
// Point.scala
class Point(val x: Double = 0, val y: Double = 0)
// Main.java
public class Main { public static void main(String[] args) { Point point = new Point(1); // does not compile }
}
上一篇:
以上是关于Scala入门-默认参数值(Default Parameter Values)的主要内容,如果未能解决你的问题,请参考以下文章
在 pyspark 的 Scala UDF 中使用默认参数值?