Maison > développement back-end > Golang > Les principes et applications des pointeurs de fonctions Golang

Les principes et applications des pointeurs de fonctions Golang

PHPz
Libérer: 2024-04-29 11:15:01
original
986 Les gens l'ont consulté

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.

Les principes et applications des pointeurs de fonctions Golang

Principes et applications des pointeurs de fonction en langage Go

Principes des pointeurs 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
Copier après la connexion

创建函数指针

函数指针可以通过以下几种方式创建:

  1. 直接赋值:

    var add = func(a, b int) int {
        return a + b
    }
    var addPtr = &add
    Copier après la connexion
  2. 使用 func 关键字:

    var addPtr = func(a, b int) int {
        return a + b
    }
    Copier après la connexion

调用函数指针

要调用函数指针,需要使用 ()

result := (*addPtr)(1, 2)  // 等于 add(1, 2)
Copier après la connexion

Créer un pointeur de fonction

Les pointeurs de fonction peuvent être créés des manières suivantes :

  1. Affectation directe :

    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)
    }
    Copier après la connexion
    < /li>
  2. 🎜Utiliser func Mot-clé : 🎜🎜
    奇数元素的和: 16
    Copier après la connexion
    🎜Appeler le pointeur de fonction🎜🎜Pour appeler le pointeur de fonction, vous avez besoin utiliser l'opérateur (), 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal