Les pointeurs de fonction dans Go permettent de stocker des fonctions sous forme de valeurs. Les méthodes de création incluent l'affectation directe et l'utilisation du mot-clé func. Appelé via l'opérateur (). Exemple d'application pratique : calculez la somme des éléments impairs dans un tableau et transmettez la fonction de jugement des nombres impairs via un pointeur de fonction.
En langage Go, une fonction est une valeur qui peut être stockée à l'aide de variables. Un pointeur de fonction est une variable qui pointe vers une fonction. Il est représenté par le préfixe *
, et la syntaxe est la suivante : *
前缀表示,语法如下:
type FuncType func(args) (returns) var funcPtr *FuncType
函数指针可以通过以下几种方式创建:
直接赋值:
var add = func(a, b int) int { return a + b } var addPtr = &add
使用 func
关键字:
var addPtr = func(a, b int) int { return a + b }
要调用函数指针,需要使用 ()
result := (*addPtr)(1, 2) // 等于 add(1, 2)
package main import "fmt" // 奇数函数 func isOdd(x int) bool { return x%2 != 0 } // 计算奇数和 func sumOdds(arr []int, odd func(int) bool) int { sum := 0 for _, v := range arr { if odd(v) { sum += v } } return sum } func main() { arr := []int{1, 2, 3, 4, 5, 6, 7} total := sumOdds(arr, isOdd) fmt.Println("奇数元素的和:", total) }
func
Mot-clé : 🎜🎜奇数元素的和: 16
(), comme indiqué ci-dessous : 🎜rrreee🎜Cas pratique : 🎜🎜🎜Calculer la somme des éléments impairs dans un tableau🎜🎜rrreee🎜Sortie : 🎜rrreee
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!