Maison > développement back-end > Golang > Paramètres variables du tableau Golang

Paramètres variables du tableau Golang

WBOY
Libérer: 2023-05-15 11:39:07
original
656 Les gens l'ont consulté

Golang est un langage de programmation puissant qui offre de nombreuses fonctionnalités pratiques, notamment la gestion des paramètres variables. Dans cet article, nous explorerons comment gérer un nombre indéfini de paramètres dans Golang.

Array est une structure de données commune qui peut stocker le même type de données. Dans Golang, la longueur des tableaux est fixe. Si nous voulons gérer un nombre variable de paramètres, nous devons utiliser le découpage. Une tranche est une structure de données constituée d’un tableau qui peut augmenter ou diminuer dynamiquement sa longueur.

Dans Golang, les fonctions peuvent accepter un nombre indéfini de paramètres. Ces paramètres sont représentés sous forme de tranches. Nous pouvons déclarer des paramètres variables en utilisant des points de suspension (...). Par exemple :

func sum(nums ...int) int {
    total := 0
    for _, num := range nums {
        total += num
    }
    return total
}
Copier après la connexion

Dans l'exemple ci-dessus, la fonction sum accepte un nombre indéfini de paramètres entiers nommés nums. Dans le corps de la fonction, nous pouvons gérer ces paramètres comme des tranches. Nous utilisons une boucle pour calculer la somme de tous les paramètres et renvoyer le résultat. sum函数接受不定数量的名为nums的整数参数。在函数体内,我们可以像处理切片一样处理这些参数。我们使用了一个循环来计算所有参数的和,并将结果返回。

我们可以通过以下方式来调用sum函数:

fmt.Println(sum(1, 2, 3))  // Output: 6
fmt.Println(sum(4, 5, 6, 7))  // Output: 22
Copier après la connexion

在调用sum函数时,我们可以传递不同数量的参数,甚至可以不传递任何参数。在处理不定参数时,我们需要注意以下几点:

  1. 不定参数必须是函数的最后一个参数。
  2. 不定参数的类型必须一致。
  3. 不定参数可以为空,此时切片的长度为零。

下面是另一个例子,展示如何将不定参数传递给另一个函数:

func multiply(factor int, nums ...int) []int {
    result := []int{}
    for _, num := range nums {
        result = append(result, num*factor)
    }
    return result
}

func main() {
    result := multiply(2, 1, 2, 3)
    fmt.Println(result)  // Output: [2 4 6]
}
Copier après la connexion

在上面的例子中,我们定义了一个名为multiply的函数,它接受一个整数参数factor,和不定数量的整数参数nums。函数的返回值是一个整数切片,其中每个元素都是nums中的元素乘以factor的结果。

在主函数中,我们调用了multiply函数,传递了参数21, 2, 3。函数返回一个切片,包含了2, 4, 6

Nous pouvons appeler la fonction sum des manières suivantes :

rrreee

Lors de l'appel de la fonction sum, nous pouvons passer un nombre différent de paramètres, ou même ne transmettre aucun paramètre du tout. Lorsqu'il s'agit de paramètres indéfinis, nous devons faire attention aux points suivants :

  1. Le paramètre indéfini doit être le dernier paramètre de la fonction.
  2. Les types de paramètres variables doivent être cohérents.
  3. Le paramètre indéfini peut être vide, auquel cas la longueur de la tranche est nulle.
Voici un autre exemple montrant comment passer des paramètres variables à une autre fonction : 🎜rrreee🎜Dans l'exemple ci-dessus, nous avons défini une fonction appelée multiply Function, qui accepte un nombre entier paramètre factor, et un nombre indéfini de paramètres entiers nums. La valeur de retour de la fonction est une tranche d'entiers, où chaque élément est le résultat de la multiplication de l'élément en nums par factor. 🎜🎜Dans la fonction principale, nous avons appelé la fonction multiply et passé les paramètres 2 et 1, 2, 3. La fonction renvoie une tranche contenant trois éléments 2, 4, 6. Nous imprimons cette tranche. 🎜🎜Résumé : 🎜🎜Dans Golang, les paramètres indéfinis peuvent facilement gérer différents nombres de paramètres. Nous pouvons utiliser des points de suspension (...) pour déclarer des paramètres variables et les transmettre à d'autres fonctions. Lorsqu'il s'agit de paramètres variables, nous devons noter que le paramètre variable doit être le dernier paramètre de la fonction, le type du paramètre variable doit être cohérent et le paramètre variable peut être vide. 🎜

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