広告スペース(バナー)
🐹Go レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 15 / 68
無名関数(クロージャ)
このレッスンでは、Goで無名関数(クロージャ)を作る書き方を学び、その場限りの処理を柔軟に扱えるようになることを目標にします。「Go言語 無名関数 クロージャ 使い方」で調べている方向けです。
Goには三項演算子がありません(if文で書くのがGoらしいスタイルです)。代わりに、名前を付けずにその場で作れる無名関数を使います。変数に代入したり、その場で呼び出したりできます。
サンプルコードでは、double := func(n int) int { return n * 2 }という形で無名関数を変数doubleに代入し、通常の関数と同じようにdouble(5)として呼び出しています。無名関数は外側の変数を覚えたまま動く「クロージャ」としても使えます。
初心者がよくつまずくのが、無名関数の記法に慣れないことです。func(引数) 戻り値の型 { 処理 }という書き方をその場で変数に代入するという発想が、通常の関数定義に慣れていると最初は難しく感じられます。
実際の開発現場では、無名関数はgoroutineの中身としてもよく使われ、Goの並行処理プログラミングでも頻出する書き方です。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではGoを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
広告スペース(バナー)
広告スペース(記事内)