[解決済み] Swiftの関数におけるデフォルトのオプションパラメータ
2022-06-15 06:59:47
質問
を設定すると
firstThing
をデフォルトの
nil
のデフォルト値なしで、これは動作します。
nil
関数を呼び出すときに、パラメータが不足しているというエラーが表示されます。
タイプすることで
Int?
というデフォルト値でオプションにしたのでは?
nil
というデフォルト値で任意にするものだと思っていたのですが、そうなのでしょうか?もしそうなら、なぜそれが
= nil
?
func test(firstThing: Int? = nil) {
if firstThing != nil {
print(firstThing!)
}
print("done")
}
test()
どのように解決するのですか?
オプショナルとデフォルトのパラメータは別物です。
オプショナルは変数で
nil
である。
デフォルトのパラメータでは
デフォルト
の値を使用します。このデフォルト値は、そのパラメータを省略した場合、次のように指定します。
func test(param: Int = 0)
オプションであるパラメータを指定した場合、渡したい値が
nil
. もしあなたの関数が次のようなものであれば
func test(param: Int?)
のように見える場合、次のように呼び出すことはできません。
test()
. パラメータがオプションであっても、デフォルト値を持たないのです。
また、この2つを組み合わせて、オプションの場所を取るパラメータを持つこともできます。
nil
はデフォルト値で、次のような感じです。
func test(param: Int? = nil)
.
関連
-
[解決済み] Swiftでbase64StringをStringに変換する方法とは?
-
[解決済み] Swift言語におけるエクスクラメーションマークの意味とは?
-
スレッド1:シグナルSIGABRTの問題解決
-
[解決済み] SwiftでString.Indexはどのように動作するのか
-
[解決済み] JavaScriptの関数をパラメータとして渡す
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] オプションの引数を持つPython関数を作成するにはどうしたらいいですか?
-
[解決済み】JavaScriptの関数にデフォルトのパラメータ値を設定する
-
[解決済み】関数の前のエクスクラメーションマークは何をするのですか?
-
[解決済み】Swiftの`let`と`var`の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 型のインスタンスでは静的メンバを使用できません。
-
[解決済み] iPhone Simulator.appと一緒にXcodeも外付けハードディスクにインストールできますか?
-
スレッド1:シグナルSIGABRTの問題解決
-
フォールスルーの使用方法概要
-
[解決済み] SwiftはPass By ValueかPass By Referenceか
-
[解決済み】Swiftで変数の型またはクラスを表示するにはどうすればよいですか?
-
[解決済み】Xcode 6 Beta 4でアプリを実行すると「表示権限がないため、ファイル "MyApp.app" を開くことができません。
-
[解決済み】Swiftのオプション値とは何ですか?
-
[解決済み】swiftでDoubleを最も近いIntに丸めるには?
-
[解決済み】Swiftで列挙型の値の名前を取得する方法は?