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 中使用默认参数值?

scala 基础四 scala 的函数扩展 默认参数,不定长参数,带名参数

2021年大数据常用语言Scala:基础语法学习 方法参数

Scala学习之路----基础入门

par函数bty参数-控制绘图边框

如果我在 Scala 中定义多个重载构造函数,我不能定义默认值吗?