En Kotlin se pueden definir parámetros y asignarles un dato en la misma cabecera de la función. Luego cuando llamamos a la función podemos o no enviarle un valor al parámetro.
Los parámetros por defecto nos permiten crear funciones más flexibles y que se pueden emplear en distintas circunstancias.
Confeccionar una función que reciba un String como parámetro y en forma opcional un segundo String con un caracter. La función debe mostrar el String subrayado con el caracter que indica el segundo parámetro
fun tituloSubrayado(titulo: String, caracter: String = "*") { println(titulo) for(i in 1..titulo.length) print(caracter) println() } fun main(parametro: Array<String>) { tituloSubrayado("Sistema de Administracion") tituloSubrayado("Ventas", "-") }
Cuando ejecutamos esta aplicación podemos observar el siguiente resultado:
Lo primero importante en notar que la llamada a la función tituloSubrayado la podemos hacer enviándole un dato o dos datos:
tituloSubrayado("Sistema de Administracion") tituloSubrayado("Ventas", "-")
Esto no podría ser correcto si no utilizamos una sintaxis especial cuando declaramos los parámetros de la función:
fun tituloSubrayado(titulo: String, caracter: String = "*") { println(titulo) for(i in 1..titulo.length) print(caracter) println() }
Como vemos el parámetro caracter tiene una asignación de un valor por defecto para los casos que llamamos a la función con un solo parámetro.
Cuando la llamamos a la función tituloSubrayado con un solo parámetro luego el parámetro caracter almacena el valor "*". Si llamamos a la función y le pasamos dos parámetros en nuestro ejemplo el parámetro caracter almacena el string "-"
El algoritmo de la función imprimir el primer parámetro y mediante un for que se repite tantas veces como el largo del "titulo" imprimimos el segundo parámetro
Proyecto93 fun sumar(v1: Int, v2: Int, v3: Int = 0, v4: Int = 0, v5: Int = 0) = v1 + v2 + v3 + v4 + v5 fun main(parametro: Array<String>) { println("La suma de 5 + 6 es ${sumar(5,6)}") println("La suma de 1 + 2 + 3 es ${sumar(1,2,3)}") print("La suma de 1 + 2 + 3 + 4 + 5 es ${sumar(1,2,3,4,5)}") }