Maison  >  Article  >  développement back-end  >  fonction golang fonction passée en paramètre

fonction golang fonction passée en paramètre

PHPz
PHPzoriginal
2024-04-22 22:12:01845parcourir

Dans Go, les fonctions peuvent être transmises en tant que paramètres pour améliorer la réutilisabilité et la maintenabilité du code. Syntaxe : transmettez la valeur du type de fonction, c'est-à-dire le type de valeur de retour func (liste de paramètres). Cas pratique : La fonction Exclaim prend une chaîne en paramètre, imprime la chaîne et ajoute un point d'exclamation. La fonction PrintWithExcitement reçoit un paramètre de fonction f et l'utilise pour imprimer le paramètre de chaîne s.

fonction golang fonction passée en paramètre

Passer des fonctions en tant que paramètres dans Go

Dans Go, vous pouvez passer une fonction en tant que paramètre à une autre fonction. Cela permet la création de code réutilisable et modulaire, améliorant ainsi la lisibilité et la maintenabilité du code.

Syntaxe

Pour passer une fonction en paramètre, transmettez-la simplement en tant que valeur de type de fonction. La syntaxe des types de fonctions est la suivante :

func(参数列表) 返回值类型

Par exemple, considérons la fonction suivante, qui reçoit une fonction en tant que paramètre et l'utilise pour imprimer un message :

func PrintMessage(f func(string)) {
    f("Hello, world!")
}

Un exemple pratique

Voici un exemple pratique montrant comment pour créer une fonction et l'utiliser comme paramètres passés à une autre fonction :

package main

import "fmt"

// 定义一个函数并将其作为参数传递
func Exclaim(s string) {
    fmt.Println(s + "!")
}

// 定义一个函数,它接收一个函数作为参数
func PrintWithExcitement(s string, f func(string)) {
    f(s)
}

func main() {
    // 传递 Exclaim 函数作为参数
    PrintWithExcitement("Hello", Exclaim)
}

L'exécution du code ci-dessus affichera :

Hello!

Ce code montre comment définir une fonction Exclaim,并将其作为参数传递给函数 PrintWithExcitement。然后,PrintWithExcitement 调用 Exclaim fonction pour afficher le message "Bonjour suivi d'un point d'exclamation !" .

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