Parámetros nombrados, valores por defecto para parámetros y Concatenación en Kotlin (Named parameters, defaults for parameters, and string concatenation)

Jorge Rodriguez
2 min readNov 13, 2017

--

Los parámetros nombrados son muy útiles en Kotlin, por medio de ellos, se puede definir exactamente que es lo que se va a enviar hacia un método, sin necesidad de saber su orden específico como sucede en otros lenguajes. Esto también es útil porque permite tener un código más legible. Un pequeño ejemplo:

public void metodo1(String val1,String val2){}

al momento de consumirlo, obligatoriamente el orden es val 1, val 2.

En Kotlin se tiene esto:

fun metodo1(val1:String, val2:String){}

el consumo de este método se haría de esta manera:

metodo1(val2 = “”, val1 = “”)

Así de fácil. Puede ser que se vea mucha utilidad ahora, tal vez quede más claro después de hablar sobre los valores por defecto para los parámetros, otra utilidad de Kotlin.

Se tiene el caso en que el parámetro val1 por defecto va a tener la palabra “default”, entonces si se quiere consumir ese método, tradicionalmente deberías enviarlo, es decir algo así:

metodo1(“default”, “valor1”)

un gasto de tiempo si casi siempre va a ser lo mismo, verdad? Pues ahora es momento de usar un valor por defecto, la declaración del método se define así:

fun metodo1(val1:String = “default”, val2:String){}

y en el consumo del método, algo así:

metodo1(val2 = “”)

qué tal? Ahora se ve también el uso de los parámetros nombrados, pues, si tienes valores por defecto y no quieres enviar alguno, se deben obligatoriamente enviar los otros parámetros nombrados.

El último tema que se va a abordar, es sobre la concatenación, que es un problema al tratar de leerla. Kotlin permite que la concatenación de Strings sea más natural:

var a = 1
val s1 = “El valor de a es $a, y eso es todo”

También existe otra funcionalidad:

val s1 = “El valor de a es ${a}, y eso es todo”

Dirás: Pero es lo mismo!!

Y te diré que no. La diferencia es que se puede enviar expresiones dentro de las llaves, por ejemplo:

val s1 = “El valor del doble de a es ${2*a}, y eso es todo”

Eso es todo por hoy! Gracias por tu feedback! :D

--

--

Jorge Rodriguez

Thoughtworker, me encanta programar y me gusta mucho Android! Apasionado por compartir y generar conocimiento en español.