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)}")
}