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)的主要内容,如果未能解决你的问题,请参考以下文章