Maison  >  Article  >  développement back-end  >  Comment utiliser les fonctions anonymes de Golang

Comment utiliser les fonctions anonymes de Golang

PHPz
PHPzoriginal
2024-04-29 10:36:01962parcourir

Les fonctions anonymes n'ont pas de nom dans Go et peuvent être transmises en tant que paramètres à d'autres fonctions. Utilisation : Syntaxe : func([liste de paramètres]) ([liste de valeurs de retour]) { // Corps de la fonction } Les paramètres et les valeurs de retour peuvent être omis. Peut être transmis directement à d’autres fonctions. Cas pratique : Lors du tri d'une liste, vous pouvez comparer des éléments grâce à des fonctions anonymes.

Comment utiliser les fonctions anonymes de Golang

Utilisation de fonctions anonymes

Dans le langage Go, une fonction anonyme est un type spécial de fonction qui n'a pas de nom et est généralement utilisée comme paramètre d'autres fonctions. Ils peuvent apparaître là où des pointeurs de fonction sont utilisés, comme les fonctions de rappel.

Utilisation

La syntaxe de la fonction anonyme est la suivante :

func([参数列表]) ([返回值列表]) {
    // 函数体
}

[Liste des paramètres] et [Liste des valeurs de retour] sont facultatifs. Lorsqu'elle est omise, la fonction anonyme n'a aucun paramètre ni valeur de retour. [参数列表][返回值列表] 是可选的。省略时,匿名函数没有参数或返回值。

示例

我们以一个计算两个数之和的匿名函数为例:

sum := func(a, b int) int {
    return a + b
}

我们还可以将匿名函数直接传递给其他函数,如下所示:

otherFunction(func(i int) bool {
    return i % 2 == 0
})

这个匿名的 bool 函数检查一个整数是否为偶数。

实战案例

让我们考虑一个排序字符串列表的示例:

// 比较两个字符串的函数
compareStrings := func(a, b string) int {
    return strings.Compare(a, b)
}

// 使用 sort.Slice 对字符串列表进行排序
strings := []string{"apple", "banana", "cherry"}
sort.Slice(strings, compareStrings)

fmt.Print(strings) // [apple banana cherry]

在上面的代码中,我们声明了一个匿名函数 compareStrings,它用于比较两个字符串。我们然后将这个函数传递给了 sort.Slice

Exemple

🎜🎜Prenons comme exemple une fonction anonyme qui calcule la somme de deux nombres : 🎜rrreee🎜Nous pouvons également passer des fonctions anonymes directement à d'autres fonctions, comme ceci : 🎜rrreee🎜Ce anonyme Le bool La fonction vérifie si un entier est pair. 🎜🎜🎜Cas pratique🎜🎜🎜Considérons un exemple de tri d'une liste de chaînes : 🎜rrreee🎜Dans le code ci-dessus, nous avons déclaré une fonction anonyme compareStrings qui permet de comparer deux chaînes de caractères . On passe ensuite cette fonction à la fonction sort.Slice, qui trie la liste des chaînes à l'aide d'une fonction anonyme. 🎜🎜Les fonctions anonymes sont très utiles dans Go, elles peuvent rendre le code plus propre et plus facile à lire. 🎜

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!

Déclaration:
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