広告スペース(バナー)
🐹Go レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 12 / 68
再帰関数
このレッスンでは、Goで再帰関数を作る書き方を学び、関数が自分自身を呼び出す仕組みを理解することを目標にします。「Go言語 再帰関数 使い方」で調べている方向けです。
再帰関数は、自分自身を呼び出す関数です。「n! = n × (n-1)!」のような、同じ計算パターンを繰り返す処理に向いています。
サンプルコードでは、factorial関数がn * factorial(n-1)という形で自分自身を呼び出し、5の階乗を計算しています。終わる条件(この場合はn <= 1)があるおかげで、呼び出しがどこかで止まる仕組みになっています。
初心者がよくつまずくのが、終わる条件を書き忘れることです。終わる条件を用意しないと、無限に自分自身を呼び続けてプログラムが異常終了してしまうので注意が必要です。深すぎる再帰はスタックを大量に消費するため、ループで書き換えられないか検討することも実務では大切です。
実際の開発現場では、木構造やフォルダ階層の探索など、再帰が自然にフィットする場面で活用されていますが、パフォーマンスを重視する場面ではループへの書き換えも検討されます。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではGoを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
階乗のような、自分自身を呼び出して計算する処理が作れるようになります。
階乗のような、自分自身を呼び出して計算する処理が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)