Go 関数のメソッドはパラメーターとして渡されます: Go 関数は、他の関数のパラメーターとして渡すことができます。コードはモジュール化された再利用可能な部分に編成できます。実際のケース: print 関数をパラメータとして使用して、スライス要素を印刷できます。
Go 言語で関数メソッドをパラメータとして渡す
Go の関数は第一級市民なので、使用できます。 as 他の関数にパラメータを渡します。これにより、コードをモジュール化して再利用可能な部分に整理できます。
構文
func f(a int, fn func(int)) { fn(a) }
この例では、f
関数は、int
と関数型 # の 2 つのパラメーターを受け取ります。 ##func(int) 関数。
実践的なケース: スライス要素の印刷
print 関数をパラメータとして受け取るスライス要素を印刷する関数を作成してみましょう。package main import "fmt" // PrintSlice 使用给定的打印函数打印切片元素 func PrintSlice(s []int, fn func(int)) { for _, v := range s { fn(v) } } func main() { numbers := []int{1, 2, 3, 4, 5} // 使用 lambda 表达式打印元素 PrintSlice(numbers, func(n int) { fmt.Println(n) }) // 使用命名函数打印元素 PrintSlice(numbers, func(x int) { fmt.Printf("%d ", x) }) }
1 2 3 4 5 1 2 3 4 5
PrintSlice 関数はスライスと印刷関数を受け入れます。次に、スライスをループし、各要素を print 関数に渡します。
以上がパラメータとして渡される golang 関数メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。