覚えたら書くスマートフォン用の表示で見る覚えたら書くIT関係のデベロッパとして日々覚えたことを書き残したいです。前回のエントリでGo言語の関数の基本的な部分について書きました。本エントリでは、前回のエントリでは扱わなかった無名関数について書きます。Go言語では関数を値として扱うことができて、変数へ格納することもできます。その辺りの動作を以下確認しておきます。変数にセットする関数の内容を記載している右辺部分は関数リテラルとなります。定義することができます。関数」となっています。returnDecoreteFuncの戻り値で返された関数を実行するには以下のようになります。一度変数に受けてその変数経由実行することも、変数を経由せずに実行することもできます。定義することもできます。第1引数の文字列を第2引数の関数で装飾して、その結果を標準出力に書きだす処理をします。decoratedStr)}以下は本関数を呼び出す例となります。})}実行結果は以下の通りです。クロージャ(closure)です。関数と関数の処理に関連する関数の外の環境をセットにして閉じ込めた状態で取り扱うことができます。以下の例ではsumCalc関数は、「引数にintを1つとり戻り値で2つのint値を返す関数」を戻り値にする関数となっています。10sum変数は見かけ上は関数内のローカル変数ですが、実際にはクロージャに属する変数として利用されます。クロージャによって束縛された変数の領域は、何らかの形でクロージャが参照され続ける限りは破棄されることがありません。読者になるスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。