是否可以为可变长度参数列表设置默认参数?
示例:
def foo(args: String*) = args.foreach(println)
如何为args
设置默认参数?
答案 0 :(得分:12)
没有。如果您尝试,编译器会告诉您:
错误:带有“*”参数的参数部分 - 参数不允许有默认参数
但是你可以通过方法重载获得相同的结果:
class A {
def foo(args: String*): Unit = args.foreach(println)
def foo(): Unit = foo("A", "B", "C")
}
这是你提供参数的时候:
scala> (new A).foo("A", "B")
A
B
这是“默认”:
scala> (new A).foo()
A
B
C