Menu
Coddy logo textTech

Valores por defecto

Parte de la sección Fundamentos del Journey de Swift de Coddy — lección 57 de 86.

A veces, un parámetro tiene un valor que se utiliza la mayor parte del tiempo. En lugar de obligar al llamador a proporcionarlo cada vez, puedes asignar un valor por defecto a ese parámetro.

Para establecer un valor por defecto, utiliza el operador de asignación (=) después del tipo del parámetro:

func greet(name: String, greeting: String = "Hello") {
    print("\(greeting), \(name)!")
}

greet(name: "Alice")                    // Salida: Hello, Alice!
greet(name: "Bob", greeting: "Hi")      // Salida: Hi, Bob!

Al llamar a la función, puedes omitir los parámetros que tienen valores predeterminados. Swift usará el valor predeterminado automáticamente. Pero si necesitas un valor diferente, aún puedes proporcionar uno explícitamente.

Los parámetros con valores por defecto deben colocarse al final de la lista de parámetros. Esto mantiene las llamadas a las funciones limpias y legibles:

func calculatePrice(base: Double, taxRate: Double = 0.1) -> Double {
    return base + (base * taxRate)
}

print(calculatePrice(base: 100))              // Resultado: 110.0
print(calculatePrice(base: 100, taxRate: 0.2)) // Resultado: 120.0

Los valores predeterminados hacen que tus funciones sean más flexibles: funcionan de manera sencilla para los casos comunes, permitiendo al mismo tiempo la personalización cuando sea necesario.

challenge icon

Desafío

Fácil

Escribe una función formatGreeting que reciba name, greeting y repeatCount y devuelva un mensaje de saludo formateado.

La función debe utilizar valores por defecto para los parámetros opcionales:

  • greeting debe tener como valor por defecto "Hello"
  • repeatCount debe tener como valor por defecto 1

Construye una cadena que repita el patrón de saludo el número especificado de veces, separadas por espacios.

Parámetros:

  • name (String): El nombre de la persona (requerido)
  • greeting (String): La palabra de saludo (por defecto: "Hello")
  • repeatCount (Int): Cuántas veces se debe repetir el saludo (por defecto: 1)

Devuelve: Una cadena con el patrón de saludo repetido. Formato: "[greeting], [name]!" repetido repeatCount veces, separado por un único espacio (String)

Por ejemplo, si name es "Alice", greeting es "Hi" y repeatCount es 2, la función devuelve "Hi, Alice! Hi, Alice!".

Si se llama solo con name como "Bob" (usando los valores por defecto), devuelve "Hello, Bob!".

Hoja de referencia

Para establecer un valor predeterminado para un parámetro, utiliza el operador de asignación (=) después del tipo del parámetro:

func greet(name: String, greeting: String = "Hello") {
    print("\(greeting), \(name)!")
}

greet(name: "Alice")                    // Salida: Hello, Alice!
greet(name: "Bob", greeting: "Hi")      // Salida: Hi, Bob!

Al llamar a una función, puedes omitir los parámetros que tienen valores predeterminados. Swift utilizará el valor predeterminado automáticamente, pero aún puedes proporcionar un valor diferente explícitamente si es necesario.

Los parámetros con valores predeterminados deben colocarse al final de la lista de parámetros:

func calculatePrice(base: Double, taxRate: Double = 0.1) -> Double {
    return base + (base * taxRate)
}

print(calculatePrice(base: 100))              // Salida: 110.0
print(calculatePrice(base: 100, taxRate: 0.2)) // Salida: 120.0

Pruébalo tú mismo

func formatGreeting(name: String, greeting: String, repeatCount: Int) -> String {
    // Escribe el código aquí
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos