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.