Les principes de conception de la fonction Go incluent : la signature de la fonction déclare le nom de la fonction, les paramètres et le type de valeur de retour ; les paramètres de variable autorisent les appels sans connaître le nombre de paramètres pouvant être renvoyés, et la dénomination est simplifiée en renvoyant les valeurs par nom ; les types de fonctions peuvent être utilisés pour créer et transférer des fonctions. Un exemple de conception fonctionnelle en pratique est la fonction de sommation sum, qui utilise des arguments variadiques et une sommation en boucle.
Dans le langage Go, les fonctions sont les modules de base pour la création de programmes. Comprendre ses principes de conception est essentiel pour écrire un code efficace et maintenable.
La signature de fonction déclare le nom, le type de paramètre et le type de valeur de retour de la fonction. Il suit le format suivant :
func functionName(parameter_list) (return_value_list)
Par exemple :
func add(x int, y int) int { return x + y }
Les fonctions Go prennent en charge les arguments variadiques, permettant d'appeler des fonctions sans connaître le nombre d'arguments. Les paramètres variables sont représentés par le symbole ...
et doivent être le dernier paramètre de la liste des paramètres.
func sum(numbers ...int) int { total := 0 for _, number := range numbers { total += number } return total }
Les fonctions Go peuvent renvoyer plusieurs valeurs. La liste des types de retour doit être placée entre parenthèses.
func divide(x int, y int) (quotient int, remainder int) { quotient = x / y remainder = x % y return }
Vous pouvez utiliser des valeurs de retour de nom pour simplifier la dénomination des valeurs de retour. La valeur de retour du nom doit être la dernière valeur de retour et son type doit être le même que le type de retour précédent.
func swap(x, y int) (y, x) { return }
Les fonctions Go sont également des types. Nous pouvons créer des types de fonctions et les utiliser comme paramètres ou renvoyer des valeurs d'autres fonctions.
type SumFunc func(x, y int) int func createSumFunc() SumFunc { return func(x, y int) int { return x + y } }
Ce qui suit est un cas pratique utilisant la conception de fonctions :
package main import ( "fmt" ) func main() { numbers := []int{1, 2, 3, 4, 5} total := sum(numbers...) fmt.Println("Total:", total) } func sum(numbers ...int) int { total := 0 for _, number := range numbers { total += number } return total }
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!