Maison >développement back-end >Golang >tranche de fonction golang passée en paramètre
Les tranches de fonctions en langage Go peuvent être transmises en tant que paramètres pour améliorer la flexibilité du code. La syntaxe est la suivante : func function(fn func([]int) []int, slice []int) []int, où la fonction reçoit la fonction slice fn et slice slice comme paramètres.
Passer des tranches de fonction en tant que paramètres dans le langage Go
En langage Go, les fonctions peuvent être transmises en tant que paramètres à d'autres fonctions. Il s'agit d'une technique puissante qui rend votre code plus flexible et réutilisable.
Syntaxe
La syntaxe pour passer les tranches de fonction en tant que paramètres est la suivante :
func function(fn func([]int) []int, slice []int) []int
fonction
doit recevoir les tranches de fonction fn
et les tranches slice fonction en tant que paramètre. <code>func
définit le type de tranche de fonction, qui reçoit une tranche entière de longueur N
et renvoie une tranche entière de longueur M
. function
是接收函数切片 fn
和切片 slice
作为参数的函数。func
定义了函数切片的类型,它接收一个长度为 N
的整数切片,并返回一个长度为 M
的整数切片。
实战案例
我们来看一个将函数切片作为参数传递的实战案例。假设我们有一个函数 apply
Cas pratique
Regardons un cas pratique de passage de tranches de fonction en tant que paramètres. Supposons que nous ayons une fonctionapply
qui prend une tranche de fonction et une tranche et applique chaque fonction de la tranche de fonction à chaque élément de la tranche. 🎜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 }🎜🎜sortie🎜🎜
[]int{2, 4, 6}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!