広告スペース(バナー)
🐦Swift レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 50 / 68
deferで後片付け処理をしよう
このレッスンでは、Swiftのdeferを使った後片付け処理の書き方を学び、関数終了時に必ず実行したい処理を書けるようになることを目標にします。「Swift defer 使い方」で調べている方向けです。
Swiftにはfinallyはありませんが、deferを使うと「関数が終わるときに必ず実行される処理」を予約できます。ファイルを閉じる処理や、終了ログを出す処理によく使われます。
サンプルコードでは、divide()関数の冒頭でdefer { print("計算処理を終了します") }を宣言することで、正常に値を返しても、エラーでnilを返しても、必ずこのメッセージが最後に表示されます。
初心者がよくつまずくのが、複数のdeferを書いた場合の実行順序です。deferは書いた順とは逆の順番で実行される、というSwiftならではの少しユニークな仕様も覚えておくと役立ちます。
実際の開発現場では、deferの中でエラー処理をまとめられるため、複数の終了パスがある関数でも安全に後片付けができる点が重宝されます。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではSwiftを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
エラーが起きても必ず後片付けが行われる、安全な処理が書けるようになります。
エラーが起きても必ず後片付けが行われる、安全な処理が書けるようになります。
広告スペース(バナー)
広告スペース(記事内)