Menu
CoddyTech

Guard let

Fa parte della sezione Fondamenti del percorso Swift di Coddy. Lezione 13 di 86.

Mentre if let scarta un valore opzionale ed esegue il codice quando è presente un valore, guard let adotta l’approccio opposto. Esce in anticipo quando manca un valore. È particolarmente utile all’interno delle funzioni quando vuoi gestire prima il caso «negativo» e mantenere pulita la logica principale.

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

greet(name: "Taylor") // Ciao, Taylor!
greet(name: nil)      // Nessun nome fornito

L'istruzione guard let verifica se name ha un valore. Se non ne ha, viene eseguito il blocco else e la funzione termina con return. Se l'opzionale contiene un valore, questo viene estratto in unwrappedName, ed ecco la differenza fondamentale rispetto a if let: la variabile estratta resta disponibile per il resto della funzione, non solo all'interno di un blocco.

Questo schema di «uscita anticipata» mantiene il codice leggibile gestendo subito i casi di errore, così la logica principale non è annidata in più istruzioni if.

challenge icon

Sfida

Facile
Scrivi una funzione validateAge che accetta un parametro age facoltativo e usa guard let per estrarne il valore in modo sicuro.

Se l'età è nil, restituisci "Invalid age". Altrimenti, restituisci "Age: [value]", dove [value] è l'età estratta.

Parametri:

  • age (Int?): un intero facoltativo che rappresenta l'età di una persona

Valore restituito: una stringa: "Invalid age" se l'input è nil, oppure "Age: [value]" con il valore estratto.

Esempio: se age è 25, restituisci "Age: 25". Se age è nil, restituisci "Invalid age".

Provalo tu

func validateAge(age: Int?) -> String {
    // Scrivi il codice qui
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Swift