Vai al contenuto

FLUSSI DI CONTROLLO

Cosa imparerò:

  • Utilizzare i flussi di controllo

I flussi di controllo ci aiutano a fare in modo che a seconda di alcune condizioni venga eseguita una parte di codice o un’altra.

Abbiamo la possibilità di utilizzare gli operatori per confrontare e controllare delle condizioni.

Operatore di controllo

Tipo Descrizione
== Due oggetti sono uguali
!= Due oggetti sono diversi
> Un oggetto è maggiore di un altro
< Un oggetto è minore di un altro
>= Un oggetto è maggiore o uguale di un altro
<= Un oggetto è minore o uguale di un altro
&& AND due condizioni devono essere vere
|| OR una di due condizioni deve essere vera
! NOT controlla l’opposto dell’oggetto che segue l’operatore (Bool)

Il flusso di controllo if controlla una condizione e se è soddisfatta il programma esegue i comandi all’interno delle parentesi graffe.

var età = 30
if età == 30 {
    print("Hai \(età) anni") 
}

Output

Hai 30 anni

Nell’esempio a seguito del controllo sulla variabile età, se il suo valore è uguale a 30, verrà stampata in console una frase.

Il flusso di controllo if-else controlla una condizione e, se è soddisfatta, il programma esegue i comandi all’interno delle prime parentesi graffe; altrimenti esegue il codice nelle parentesi graffe dopo la keyword else.

if età == 30 {
    print("Hai \(età) anni")
} else {
    print("Non hai \(età) anni")
}

Output

Hai 30 anni

Possiamo controllare diverse condizioni utilizzando una catena di if, else-if ed else come nell’esempio seguente:

if età == 30 {
    print("Hai \(età) anni")
} else if età < 30 {
    print("Sei troppo giovane")
} else {
    print("Non hai \(età) anni")
}

Output

Hai 30 anni

Un altro flusso di controllo è lo switch che permette di eseguire comandi rispetto a diversi casi:

var numeroRuote = 2
switch numeroRuote {
    case 1:
        print("Il tuo veicolo ha una sola ruota")
    case 2:
        print("Il tuo veicolo ha due ruote")
    case 3:
        print("Il tuo veicolo ha tre ruote")
    case 4:
        print("Il tuo veicolo ha quattro ruote")
    default:
        print("Il numero di ruote non è definito")
}

Output

Il tuo veicolo ha due ruote

Con gli switch possiamo anche fare dei controlli sui range, come nell’esempio, che va a lavorare alla variabile età creata in precedenza

switch età {
    case 0...10:
        print("Sei un bambino")
    case 11...18:
        print("Sei un adolescente")
    case 19...50:
        print("Sei un adulto")
    default:
        print("Sei un senior")
}

Output

Sei un adulto

default è necessario solo se lo switch non copre in modo esaustivo tutti i casi possibili.

L’ultimo flusso di controllo è l’operatore ternario che può essere utilizzato quando controlliamo se una condizione viene riscontrata o meno, e il codice da eseguire in entrambi i casi è di una sola riga di codice come nell’esempio:

età == 10 ? print("Sei un bambino") : print("Non hai dieci anni")

Output

Non hai dieci anni

Ciò che è scritto prima del ? è la condizione, tra il ? e i : c’è il codice che verrà eseguito se la condizione è vera, dopo i : il codice che verrà eseguito se la condizione è falsa.