Menu
Coddy logo textTech

Cosa sono i valori opzionali

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

A volte una variabile potrebbe non avere alcun valore. In Swift, rappresentiamo l'assenza di un valore usando gli optional. Un optional dice «c'è un valore, ed è uguale a x» oppure «non c'è proprio alcun valore».

Per dichiarare un tipo opzionale, aggiungi un punto interrogativo ? dopo il tipo:

var nickname: String? = "Alex"
var age: Int? = nil

Nell'esempio sopra, nickname contiene il valore "Alex", mentre age contiene nil: il modo di Swift per dire «nessun valore». Le variabili normali non possono essere nil, ma gli optional sì.

Pensa a un optional come a una scatola che potrebbe contenere qualcosa oppure essere vuota. Prima di usare ciò che c’è dentro, devi controllare se c’è davvero qualcosa. Questa è una funzionalità di sicurezza fondamentale in Swift che aiuta a prevenire arresti anomali dovuti a valori mancanti imprevisti.

var score: Int? = 100
print(score) // Optional(100)

score = nil
print(score) // nil

Nota che quando stampi un optional con un valore, mostra Optional(100) invece di 100. Per accedere al valore effettivo contenuto, devi scartare l'optional, cosa che vedremo nelle prossime lezioni.

challenge icon

Sfida

Facile

Scrivi una funzione createOptional che accetta un numero e restituisce una stringa che mostra come apparirebbe quel numero quando viene stampato come optional.

Importante: questa funzione restituisce una String. Stai scrivendo del testo che ha l’aspetto di un optional, non stai restituendo un vero valore optional.

Quando stampi un optional che contiene un valore, Swift lo visualizza nel formato Optional(value).

Promemoria sulla sintassi delle funzioni: in Swift, una funzione che restituisce un valore usa la freccia -> per specificare il tipo restituito e la parola chiave return per restituire il risultato. Per esempio:

func myFunction(param: Int) -> String {<br>    return "result"<br>}

Puoi creare la stringa restituita usando l’interpolazione di stringhe: "Optional(\(value))": la parte \(value) inserisce il numero direttamente nella stringa.

Parametri:

  • value (Int): il numero da racchiudere nel formato optional

Restituisce: una stringa nel formato Optional(value), dove value è il numero fornito.

Esempio: se l’input è 100, restituisci "Optional(100)"

Provalo tu

func createOptional(value: Int) -> String {
    // Restituisci una String che sembri un optional, non un vero optional
    // Inserisci il numero tra le parentesi usando l'interpolazione di stringhe
    return "Optional()"
}
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