nil
デフォルト値nil
に設定すると、デフォルト値nil
を使用しないと機能しません。この関数を呼び出すときにパラメータが欠落することがあります。スウィフト関数の省略可能なデフォルトパラメータ
Int?
と入力すると、デフォルト値nil
でオプションと思ったのですが、そうですか?もしそうなら、なぜ= nil
がなければうまくいかないのですか?
func test(firstThing: Int? = nil) {
if firstThing != nil {
print(firstThing!)
}
print("done")
}
test()
あなたは 'FUNCテストを書くことができることを考えてみましょう(firstThingます。int = 4)':デフォルトの値を持つ非'Optional'パラメータ。 'Optional'型(型名の'? 'が展開される)は値型です。 「オプションのパラメータ」は、その型にかかわらず、関数呼び出し時に存在しても存在しなくてもよいパラメータの不幸な名前です。 – zneak
このコードをテストするのにどのバージョンのSwiftを使用していますか?あなたのコードは正常に動作します!オプションは単なる型であり、既定のパラメータはSwiftの別の型と同じように正常に動作します –