Menu
Coddy logo textTech

Guard Let

Parte de la sección Fundamentos del Journey de Swift de Coddy. Lección 13 de 86.

Mientras if let desenvuelve un opcional y ejecuta el código cuando existe un valor, guard let adopta el enfoque opuesto. Sale anticipadamente cuando falta un valor. Esto resulta especialmente útil dentro de funciones en las que quieres gestionar primero el caso «malo» y mantener limpia la lógica principal.

func greet(name: String?) {
    guard let unwrappedName = name else {
        print("No name provided")
        return
    }
    print("Hello, \(unwrappedName)!")
}

greet(name: "Taylor") // ¡Hola, Taylor!
greet(name: nil)      // No se proporcionó ningún nombre

La instrucción guard let comprueba si name tiene un valor. Si no lo tiene, se ejecuta el bloque else y la función termina con return. Si el opcional contiene un valor, se desempaqueta en unwrappedName, y aquí está la diferencia clave con if let: la variable desempaquetada sigue estando disponible durante el resto de la función, no solo dentro de un bloque.

Este patrón de «salida anticipada» mantiene tu código legible al gestionar los casos de error de antemano, de modo que la lógica principal no quede anidada dentro de varias instrucciones if.

challenge icon

Desafío

Fácil
Escribe una función validateAge que acepte un parámetro opcional age y use guard let para desempaquetarlo de forma segura.

Si la edad es nil, devuelve "Invalid age". De lo contrario, devuelve "Age: [value]", donde [value] es la edad desempaquetada.

Parámetros:

  • age (Int?): Un entero opcional que representa la edad de una persona

Devuelve: Una cadena, ya sea "Invalid age" si la entrada es nil, o "Age: [value]" con el valor desempaquetado.

Ejemplo: Si age es 25, devuelve "Age: 25". Si age es nil, devuelve "Invalid age".

Pruébalo tú mismo

func validateAge(age: 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

Practica por tu cuenta: Playground de Swift