Quando imposto firstThing
come predefinito nil
, funzionerà, senza il valore predefinito di nil
, ricevo un errore che indica che è presente un parametro mancante quando si chiama la funzione.Parametro opzionale predefinito nella funzione Swift
Digitando Int?
ho pensato che lo rendesse opzionale con un valore predefinito di nil
, ho ragione? E se sì, perché non funziona senza lo = nil
?
func test(firstThing: Int? = nil) {
if firstThing != nil {
print(firstThing!)
}
print("done")
}
test()
Si consideri che è possibile scrivere 'func test (firstThing: Int = 4)': un parametro non -Optional' con un valore predefinito. Il tipo 'Optional' (che è ciò che'? 'In un nome di tipo si espande in) è un tipo di valore; "parametro opzionale" è un nome sfortunato per un parametro che può o non può essere presente in una chiamata di funzione, indipendentemente dal suo tipo. – zneak
Quale versione di Swift hai usato per testare questo codice? Il tuo codice funziona bene !! Opzionali sono solo un tipo e i parametri predefiniti funzionano bene come con un altro tipo in Swift –