Menu
Coddy logo textTech

Operatore di coalescenza nil

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

A volte vuoi semplicemente fornire un valore predefinito quando un optional è nil, senza scrivere più righe di codice. L’operatore di coalescenza nil di Swift (??) fa proprio questo. Scarta l’optional se contiene un valore oppure restituisce un valore predefinito se è nil.

let nickname: String? = nil
let displayName = nickname ?? "Guest"
print(displayName) // Guest

Poiché nickname è nil, l’operatore restituisce invece "Guest". Se nickname avesse un valore, verrebbe usato quel valore.

let username: String? = "SwiftCoder"
let greeting = username ?? "Anonymous"
print(greeting) // SwiftCoder

L’operatore di coalescenza nil è perfetto per le espressioni su una sola riga in cui ti serve un valore di ripiego. È più pulito che scrivere un’istruzione if let quando vuoi semplicemente sostituire nil con un valore predefinito. Il risultato è sempre un valore non opzionale, quindi puoi usarlo direttamente senza doverlo scartare ulteriormente.

challenge icon

Sfida

Facile
Scrivi una funzione getDisplayName che accetta un username facoltativo e un defaultName, quindi restituisce il nome visualizzato appropriato usando l'operatore di coalescenza nil.

Se lo username è vuoto (rappresentato da una stringa vuota ""), trattalo come nil e restituisci il nome predefinito. Altrimenti, restituisci lo username.

Parametri:

  • username (String): il nome dell'utente (una stringa vuota rappresenta nil)
  • defaultName (String): il nome di fallback da usare

Valore restituito: lo username se non è vuoto, altrimenti defaultName.

Suggerimento: All'interno della funzione, memorizza lo username in una variabile String? e, se lo username è uguale a "", imposta quella variabile a nil con un semplice if. Poi usa ?? per fornire il fallback.

Provalo tu

func getDisplayName(username: String, defaultName: String) -> 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