匿名関数: 匿名関数は、ワンタイム関数またはコールバックの作成に使用される名前のない関数です。クロージャ: クロージャには、外部変数にアクセスして変更できる匿名関数と外部変数参照が含まれています。
Go 言語の匿名関数とクロージャ
匿名関数とは何ですか?
匿名関数は名前のない関数であり、通常は 1 回限りの使用関数またはコールバックを作成するために使用されます。
匿名関数の構文を宣言します:
func(参数列表)(返回值列表) { 函数体 }
例:
数値のリストを二乗する:
numbers := []int{1, 2, 3, 4, 5} result := map(func(n int) int { return n * n }, numbers)
クロージャとは何ですか?
クロージャは、匿名関数と外部変数参照を含む関数値です。これは、クロージャが外部変数にアクセスして変更できることを意味します。
クロージャ構文を作成します:
func(参数列表)(返回值列表) { // 内部定义的变量 变量名 := 值 return func(闭包参数列表)(闭包返回值列表) { // 可以访问和修改内部变量 } }
例:
指定された回数だけ繰り返される単語を返す関数を作成します。ページあたりの回数:
package main import "fmt" func makeRepeated(s string, n int) func() string { i := 0 return func() string { i++ return fmt.Sprintf("%s%d", s, i) } } func main() { repeat := makeRepeated("a", 5) fmt.Println(repeat()) fmt.Println(repeat()) }
出力:
a1 a2
以上がGolang の匿名関数とクロージャのコード例とベスト プラクティス分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。