Scala Varargs
大多数编程语言都为我们提供了可变长度的参数移动性, Scala 也不例外。它允许我们表明函数的最后一个参数是一个可变长度的参数,它可以重复多次。它允许我们表明函数的最后一个参数是一个可变长度的参数,所以它可以重复多次。我们可以传递任意多的参数。这使得程序员可以向函数传递可变长度的参数列表。在函数内部,声明的参数类型实际上被保存为数组[数据类型]
,例如可以声明为 String 类型,实际上是数组[String]
。
注:- 我们在最后一个参数上放置*
,使其长度可变。
语法:-
下面是varargs的一些限制。
def sum(a :Int, b :Int, args: Int *)
列表中的最后一个参数必须是重复的参数。- 在包含varargs的方法中,没有任何参数的默认值。
- 所有值必须是相同的数据类型,否则出错。
sum(5, 3, 1000, 2000, 3000, “one”)
error: type mismatch;
found : String(“one”)
required:Int -
在主体args里面是一个数组,所以所有的值都被打包成一个数组
例子:
输出:
在上面的例子中,我们可以看到函数的最后一个参数是一个可变长度的参数。这里1000是可变长度的参数。参数 arg 被添加到 结果 变量中。名称参数的类型是 Integer。
例子
输出:
在上面的例子中,由于我们用语法定义了它,所以它是一个变量参数。名字参数的类型是 String