Careeroza
Varargs
Variable Number of Arguments
Example
vararg lets a function take any number of values. Inside the function it is an array.
fun total(vararg prices: Int): Int {
var sum = 0
for (p in prices) sum += p
return sum
}
fun printTags(title: String, vararg tags: String) {
println("$title: ${tags.joinToString(", ")} (${tags.size} tags)")
}
fun main() {
println(total())
println(total(120))
println(total(120, 80, 45, 30))
printTags("Paneer Tikka", "veg", "spicy", "bestseller")
}Output
0 120 275 Paneer Tikka: veg, spicy, bestseller (3 tags)
Spread Operator
Example
To pass an existing array to a vararg, put * in front of it (the spread operator).
fun total(vararg prices: Int): Int = prices.sum()
fun main() {
val cart = intArrayOf(250, 120, 99)
println(total(*cart))
println(total(40, *cart, 10)) // mix values and an array
}Output
469 519