Maison > développement back-end > Golang > Comment les fonctions variadiques de Go gèrent-elles un nombre arbitraire d'arguments ?

Comment les fonctions variadiques de Go gèrent-elles un nombre arbitraire d'arguments ?

Patricia Arquette
Libérer: 2024-12-01 10:24:15
original
400 Les gens l'ont consulté

How Do Variadic Functions in Go Handle an Arbitrary Number of Arguments?

Fonctions variadiques dans Go

Golang propose une fonctionnalité unique appelée fonctions variadiques, qui vous permet de définir des fonctions qui acceptent un nombre arbitraire d'arguments. Cela fournit un moyen flexible de gérer des fonctions avec des entrées variables.

Dans votre exemple, vous souhaitez définir une fonction Add qui prend n'importe quel nombre d'entiers et renvoie leur somme. Dans Go, vous pouvez y parvenir en utilisant la syntaxe ...int, où les points de suspension (...) indiquent le nombre variable d'arguments. Voici une version corrigée de votre exemple :

package main

import "fmt"

func Add(num1 ...int) int {
    sum := 0
    for _, v := range num1 {
        sum += v
    }
    return sum
}

func main() {
    fmt.Println("Hello, playground")
    fmt.Println(Add(1, 3, 4, 5))
}
Copier après la connexion

Comme le mentionne la spécification :

Étant donné la fonction et l'appel

func Greeting(prefix string, who ...string)
Greeting("hello:", "Joe", "Anna", "Eileen")
Copier après la connexion

dans Greeting, qui avoir la valeur []string{"Joe", "Anna", "Eileen">

Par conséquent, lors de l'appel de Add(1, 3, 4, 5), le paramètre num1 sera une tranche d'entiers contenant les valeurs [1, 3, 4, 5]. Cette tranche peut ensuite être itérée pour calculer la somme des nombres saisis.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal