Kepingan fungsi dalam bahasa Go boleh dihantar sebagai parameter untuk meningkatkan fleksibiliti kod. Sintaks adalah seperti berikut: fungsi func(fn func([]int) []int, slice []int) []int, di mana fungsi menerima slice fungsi fn dan slice slice sebagai parameter.
Melalui kepingan fungsi sebagai parameter dalam bahasa Go
Dalam bahasa Go, fungsi boleh dihantar sebagai parameter kepada fungsi lain. Ini ialah teknik berkuasa yang menjadikan kod anda lebih fleksibel dan boleh digunakan semula.
Syntax
Sintaks untuk menghantar kepingan fungsi sebagai parameter adalah seperti berikut:
func function(fn func([]int) []int, slice []int) []int
func
mentakrifkan jenis kepingan fungsi, yang menerima kepingan integer panjang N
dan mengembalikan kepingan integer panjang M
. function
是接收函数切片 fn
和切片 slice
作为参数的函数。func
定义了函数切片的类型,它接收一个长度为 N
的整数切片,并返回一个长度为 M
的整数切片。
实战案例
我们来看一个将函数切片作为参数传递的实战案例。假设我们有一个函数 apply
Kes praktikal
Mari lihat kes praktikal menghantar kepingan fungsi sebagai parameter. Katakan kita mempunyai fungsiapply
yang mengambil kepingan fungsi dan kepingan dan menggunakan setiap fungsi dalam kepingan fungsi kepada setiap elemen dalam kepingan. 🎜package main import "fmt" func main() { // 定义函数切片 fns := []func(int) int{ func(i int) int { return i + 1 }, func(i int) int { return i * 2 }, } // 定义切片 slice := []int{1, 2, 3} // 将函数切片和切片传递给 apply 函数 result := apply(fns, slice) // 打印结果 fmt.Println(result) } // apply 函数接收一个函数切片和一个切片,并对切片中的每个元素应用函数切片中的每个函数 func apply(fns []func(int) int, slice []int) []int { result := make([]int, len(slice)) for i, v := range slice { for _, fn := range fns { result[i] = fn(v) } } return result }
[]int{2, 4, 6}
Atas ialah kandungan terperinci hirisan fungsi golang diluluskan sebagai parameter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!