Menu
CoddyTech

Guard Let

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

Mientras que if let desenvuelve un valor opcional y ejecuta 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 cuando quieres tratar 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 sale 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 el código legible al gestionar los casos de error de antemano, para 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 tome un parámetro opcional age y use guard let para desenvolverlo de forma segura.

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

Parámetros:

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

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

Las líneas bloqueadas debajo de tu función leen la edad de la entrada (una entrada de nil da como resultado nil) e imprimen lo que devuelve tu función.

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