関数クロージャを使用して再利用可能なコードを構築する: 自由変数を含む関数を作成すると、渡された変数に基づいて動作が変化する再利用可能な関数を作成できます。 1. 指定された数値を 2 乗する関数を返す関数クロージャを定義します。 2. 外側の関数で、自由変数のコピーを作成し、それを内側の関数のスコープ内で使用できるようにします。 3. 関数クロージャは、遅延実行関数の作成、計算のキャッシュ、シングルトン パターンの実装、関数へのパラメーターのバインドなど、さまざまな状況で役立ちます。
#Go 関数クロージャを使用して再利用可能なコードを構築する
はじめに
関数クロージャGo は、関数の外で定義され、関数内で参照される変数である自由変数を含む関数を作成できる強力なメカニズムです。これにより、渡された自由変数に基づいて動作が変化する再利用可能な関数を作成できます。コード例
次のコード例は、関数クロージャを使用して再利用可能なコードを構築する方法の例を示しています。// 返回一个函数,该函数计算指定数字的平方 func makeSquareFunction(n int) func() int { return func() int { return n * n } } func main() { // 创建一个函数,该函数计算 5 的平方 square5 := makeSquareFunction(5) // 调用 square5 函数 result := square5() fmt.Println(result) // 输出:25 }
makeSquareFunction は、関数を返す関数クロージャを定義します。この内部関数は、計算される数値を格納する外部変数
n を参照します。外側の関数が実行されると、
n のコピーが作成され、それが内側の関数のスコープ内で使用できるようになります。
実際的なケース
関数クロージャは、次のようなさまざまな状況で非常に役立ちます。以上がgolang 関数クロージャを使用して再利用可能なコードを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。