Maison >développement back-end >Golang >paramètres variables Golang

paramètres variables Golang

WBOY
WBOYoriginal
2023-05-16 16:22:38675parcourir

La fonction de paramètre variable dans Golang signifie que la fonction peut accepter différents nombres de paramètres. Lors de la définition d'une fonction, vous pouvez utiliser trois points "..." pour indiquer que le nombre de paramètres n'est pas fixe, et ces paramètres seront regroupés dans une tranche.

Dans Golang, il ne peut y avoir qu'un seul paramètre variable dans la liste des paramètres d'une fonction, qui est généralement placé à la fin de la liste des paramètres.

Par exemple, ce qui suit est une fonction qui calcule la somme de n'importe quel nombre d'entiers :

func sum(nums ...int) int {
    total := 0
    for _, num := range nums {
        total += num
    }
    return total
}

Dans la signature de la fonction, trois points "..." sont utilisés pour indique le paramètre d'incertitude, le nom du paramètre est "nums" et le type de données est "int", donc "nums" est en fait une tranche d'entier.

Lors de l'appel de cette fonction, vous pouvez passer n'importe quel nombre d'entiers comme paramètres, et il n'est pas nécessaire de spécifier le nombre de paramètres :

fmt.Println(sum(1, 2, 3))      // 输出 6
fmt.Println(sum(10, 20, 30, 40)) // 输出 100

Les fonctions à paramètres indéfinis ont une grande flexibilité . Peut gérer de nombreux types et nombres de paramètres différents. Voici un exemple de calcul de la moyenne de deux ou trois nombres à virgule flottante :

func avg(nums ...float64) float64 {
    sum := 0.0
    for _, num := range nums {
        sum += num
    }
    return sum / float64(len(nums))
}

fmt.Println(avg(1.0, 2.0))         // 输出 1.5
fmt.Println(avg(1.0, 2.0, 3.0))    // 输出 2.0

Il est à noter que dans le langage Go, les paramètres des variables doivent également suivre l'ordre de passage des paramètres lors de l'appel des fonctions. . Par exemple, dans l'exemple suivant, si les paramètres sont inversés, la fonction signalera une erreur :

func foo(num int, strs ...string) {
    fmt.Println(num)
    fmt.Println(strs)
}

foo("hello", "world", 1)  // 报错!第一个参数应该是整数类型

À l'intérieur de la fonction, vous pouvez utiliser une boucle for pour itérer les paramètres indéfinis comme opérer une tranche, et itérer chacun d'entre eux, les éléments sont traités. Après avoir traité les paramètres variables, vous pouvez également utiliser la fonction len() pour obtenir le nombre de paramètres variables.

En bref, dans Golang, les fonctions de paramètres variables peuvent grandement améliorer la flexibilité et la praticité du programme, et sont très pratiques et rapides pour traiter des nombres et des types de paramètres incertains.

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
Article précédent:méthode d'héritage golangArticle suivant:méthode d'héritage golang