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
Patricia Arquetteoriginal
2024-12-01 10:24:15402parcourir

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))
}

Comme le mentionne la spécification :

Étant donné la fonction et l'appel

func Greeting(prefix string, who ...string)
Greeting("hello:", "Joe", "Anna", "Eileen")

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!

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