Valores predeterminados
Parte de la sección Fundamentos del Journey de Kotlin de Coddy. Lección 59 de 93.
A veces quieres que un parámetro de función tenga un valor alternativo cuando quien realiza la llamada no proporciona ninguno. Kotlin te permite asignar valores predeterminados directamente en la definición del parámetro.
fun greet(name: String = "Guest") {
println("Hello, $name!")
}
fun main() {
greet("Alice")
greet()
}
// Salida:
// Hello, Alice!
// Hello, Guest!Al llamar a greet() sin un argumento, Kotlin utiliza el valor predeterminado "Guest". Esto hace que las funciones sean más flexibles: quienes las llaman pueden personalizar el comportamiento cuando sea necesario o confiar en valores predeterminados adecuados.
Puedes mezclar parámetros con y sin valores predeterminados. Los parámetros con valores predeterminados suelen ir al final:
fun createUser(name: String, role: String = "member"): String {
return "$name ($role)"
}
fun main() {
println(createUser("Alice", "admin"))
println(createUser("Bob"))
}
// Salida:
// Alice (admin)
// Bob (member)Los argumentos con nombre resultan especialmente útiles con valores predeterminados. Te permiten omitir parámetros mientras proporcionas otros:
fun format(text: String, uppercase: Boolean = false, prefix: String = "") {
val result = if (uppercase) text.uppercase() else text
println("$prefix$result")
}
fun main() {
format("hello", prefix = "-> ")
}
// Salida: -> helloDesafío
IntermedioImplementa buildGreeting(name: String, greeting: String = "Hello"): String. Devuelve un saludo con el formato greeting, name!. El controlador de pruebas proporcionado llama a tu función dos veces: una vez solo con el nombre y otra con un nombre y un saludo explícito. No escribas main ni imprimas dentro de la función. El saludo que falta debe usar el valor predeterminado "Hello".
Pruébalo tú mismo
fun buildGreeting(name: String, greeting: String): String {
// Añade el valor predeterminado al parámetro y devuelve el saludo.
TODO("Build the greeting")
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosOperador móduloAsignación aumentadaOperadores de comparaciónRepaso: matemáticas simples7Entrada y salida básicas
Función PrintlnPlantillas de cadenasEntrada con ReadLineConversión de tiposRepaso - Años hasta la jubilaciónRepaso - Verdadero o falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoArgumentos con nombreValores predeterminadosFunciones de una sola expresiónRepaso - Función SigmaRepaso - Función de validación2Variables
Val frente a VarInferencia de tiposNúmerosCadenaBooleanoConvenciones de nomenclaturaRepaso: inicializar variables5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Operadores lógicos Parte 3Ternario con expresión ifRepaso: lógica simple8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtención de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz3Nullabilidad
Qué es la seguridad frente a valores nulosTipos anulablesOperador de llamada seguraOperador ElvisConceptos básicos de retos de funcionesAfirmación de no nulidadRepaso: acceso seguro6Toma de decisiones
Sentencia ifIf - ElseIf como expresiónExpresión whenWhen con rangosRepaso - Calculadora simple9Bucles
Bucle ForBucle WhileBucle Do-WhileBreakContinueRangos en buclesBucle anidadoRepaso - FactorialRepaso - Entrada dinámicaPractica por tu cuenta: Playground de Kotlin