Esta página se tradujo automáticamente con la API de traducción de Google Cloud.
Algunas páginas se pueden leer mejor en su totalidad.
La palabra clave vararg de Kotlin nos permite crear funciones que aceptan un número variable de argumentos. Esto puede ser útil cuando queremos escribir una función que pueda tomar cualquier cantidad de argumentos, sin tener que especificar explícitamente la cantidad de argumentos en la definición de la función.
En esta publicación, aprenderemos cómo crear funciones vararg en Kotlin y cómo usarlas en nuestro código. También veremos algunos ejemplos de cómo se pueden usar las funciones vararg para simplificar nuestro código.
Para crear una función vararg en Kotlin, usamos la palabra clave vararg antes del nombre del parámetro en la definición de la función. Por ejemplo, supongamos que queremos crear una función que tome un número variable de cadenas y las imprima. Podríamos hacer esto con la siguiente definición de función:
fun printStrings(vararg strings: String) {
for (string in strings) {
println(string)
}
}
Observe que hemos colocado la palabra clave vararg antes del parámetro de cadenas. Esto le dice a Kotlin que la función puede tomar cualquier cantidad de argumentos de cadena.
Podemos llamar a esta función con cualquier cantidad de argumentos de cadena, y todos se imprimirán:
printStrings("Hello", "World") // Prints "Hello" and "World"
printStrings("Kotlin", "is", "awesome") // Prints "Kotlin", "is", and "awesome"
También podemos llamar a la función sin argumentos, en cuyo caso no se imprimirá nada:
printStrings() // Prints nothing
Cuando creamos una función vararg, podemos acceder a los parámetros vararg en el cuerpo de la función como cualquier otro parámetro. En la función printStrings() anterior, accedimos al parámetro de cadenas en un bucle for para imprimir todas las cadenas.
También podemos acceder a los parámetros vararg fuera del cuerpo de la función. Para hacer esto, usamos el operador * antes del nombre del parámetro cuando llamamos a la función. Por ejemplo, digamos que tenemos una función vararg que toma un número variable de enteros y los imprime:
fun printInts(vararg ints: Int) {
for (int in ints) {
println(int)
}
}
Podemos llamar a esta función con cualquier cantidad de argumentos enteros, y todos se imprimirán:
printInts(1, 2, 3) // Prints 1, 2, and 3
printInts(4, 5, 6, 7, 8) // Prints 4, 5, 6, 7, and 8
También podemos llamar a la función sin argumentos, en cuyo caso no se imprimirá nada:
printInts() // Prints nothing
Ahora digamos que tenemos una matriz de números enteros y queremos imprimirlos todos usando la función printInts(). Podemos hacer esto usando el operador * para "descomprimir" la matriz en argumentos individuales:
val intArray = intArrayOf(1, 2, 3)
printInts(*intArray) // Prints 1, 2, and 3
También podemos crear funciones vararg que tengan parámetros vararg y no vararg. Por ejemplo, digamos que queremos crear una función que tome un número variable de cadenas y un número entero, e imprima las cadenas una cantidad de veces igual al número entero:
fun printStringsNTimes(n: Int, vararg strings: String) {
for (i in 1..n) {
for (string in strings) {
println(string)
}
}
}
En esta función, tenemos un parámetro no vararg (n) y un parámetro vararg (cadenas). Podemos llamar a esta función con cualquier cantidad de argumentos de cadena, y todos se imprimirán n veces:
printStringsNTimes(3, "Hello", "World") // Prints "Hello" and "World" three times
printStringsNTimes(5, "Kotlin", "is", "awesome") // Prints "Kotlin", "is", and "awesome" five times
También podemos llamar a la función sin argumentos de cadena, en cuyo caso no se imprimirá nada:
printStringsNTimes(3) // Prints nothing
En esta publicación, aprendimos cómo crear funciones vararg en Kotlin y cómo usarlas en nuestro código. También vimos algunos ejemplos de cómo se pueden usar las funciones vararg para simplificar nuestro código.
Si desea obtener más información sobre Kotlin, consulte la documentación de Kotlin.