広告スペース(バナー)
🐹Go レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 50 / 68

deferで後片付け処理をしよう

このレッスンでは、Goのdeferを使った後片付け処理の書き方を学び、関数終了時に必ず実行したい処理を書けるようになることを目標にします。「Go言語 defer 使い方」で調べている方向けです。

Goには例外処理のfinallyはありませんが、deferを使うと「関数が終わるときに必ず実行される処理」を予約できます。ファイルを閉じる処理や、終了ログを出す処理によく使われます。

サンプルコードでは、divide()関数の冒頭でdefer fmt.Println("計算処理を終了します")を宣言することで、関数の処理が正常に終わっても、途中でreturnしても、必ずこのメッセージが最後に表示されます。

初心者がよくつまずくのが、複数のdeferを書いた場合の実行順序です。deferは書いた順とは逆の順番で実行される「後入れ先出し」の順序になる点も覚えておきましょう。

実際の開発現場では、ファイルやデータベース接続などの外部リソースを開いた後、確実に閉じる必要がある場面でdeferがよく使われます。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではGoを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
エラーが起きても必ず後片付けが行われる、安全な処理が書けるようになります。
広告スペース(バナー)
広告スペース(記事内)