Gdy ustawię wartość firstThingdomyślną, nilto zadziała, bez wartości domyślnej nilpojawia się błąd, że podczas wywoływania funkcji brakuje parametru.
Wpisując Int?, myślałem, że jest to opcjonalne z domyślną wartością nil, mam rację? A jeśli tak, dlaczego nie działa bez = nil?
func test(firstThing: Int? = nil) {
if firstThing != nil {
print(firstThing!)
}
print("done")
}
test()
func test(firstThing: Int = 4): nie-Optionalparametr z wartością domyślną.OptionalTyp (czyli to, co?w nazwie typu rozszerza się do) to typ wartości; „parametr opcjonalny” to niefortunna nazwa parametru, który może być obecny lub nie w wywołaniu funkcji, niezależnie od jego typu.