Lorsque je définirai la firstThingvaleur par défaut, nilcela fonctionnera, sans la valeur par défaut de, nilj'obtiens une erreur indiquant qu'il y a un paramètre manquant lors de l'appel de la fonction.
En tapant, Int?je pensais que cela le rendait facultatif avec une valeur par défaut de nil, ai-je raison? Et si oui, pourquoi ne fonctionne-t-il pas sans le = nil?
func test(firstThing: Int? = nil) {
if firstThing != nil {
print(firstThing!)
}
print("done")
}
test()
func test(firstThing: Int = 4): un non-Optionalparamètre avec une valeur par défaut. LeOptionaltype (qui est ce?à quoi un nom de type se développe) est un type valeur; "paramètre facultatif" est un nom malheureux pour un paramètre qui peut ou non être présent lors d'un appel de fonction, quel que soit son type.