Quando si imposta firstThing
come predefinito nil
questo funzionerà, senza il valore predefinito di nil
ottengo un errore che non è presente un parametro quando si chiama la funzione.
Digitando Int?
ho pensato che lo rendesse opzionale con un valore predefinito di nil
, ho ragione? E se è così, perché non funziona senza = nil
?
func test(firstThing: Int? = nil) {
if firstThing != nil {
print(firstThing!)
}
print("done")
}
test()
func test(firstThing: Int = 4)
: un nonOptional
parametro con un valore predefinito. IlOptional
tipo (che è ciò?
a cui si espande in un nome di tipo) è un tipo di valore; "parametro opzionale" è un nome sfortunato per un parametro che può o meno essere presente in una chiamata di funzione, indipendentemente dal suo tipo.