Maison > développement back-end > Golang > Qu'est-ce que le paramètre `...interface{}` (Variadic Interface) dans Go ?

Qu'est-ce que le paramètre `...interface{}` (Variadic Interface) dans Go ?

Patricia Arquette
Libérer: 2024-12-16 21:18:21
original
145 Les gens l'ont consulté

What is the `...interface{}` (Variadic Interface) Parameter in Go?

Comprendre la signification de ...interface{} (interface variadique)

Dans l'extrait de code Go ci-dessous :

func DPrintf(format string, a ...interface{}) (n int, err error) {
  if Debug > 0 {
    n, err = fmt.Printf(format, a...)
  }
  return
}
Copier après la connexion

la définition du paramètre a ...interface{} soulève la question : qu'est-ce que a dans cette fonction ? Les trois points ici indiquent que a est un paramètre variadique, vous permettant de transmettre n'importe quel nombre d'arguments à ce paramètre.

Le paramètre a est essentiellement une tranche de type []interface{}. Lorsque vous appelez DPrintf, vous pouvez transmettre plusieurs arguments qui seront stockés dans la tranche a. Par exemple :

DPrintf("Value: %v", 10)
Copier après la connexion

Dans cet appel, DPrintf reçoit un seul argument (10) qui est stocké dans la tranche a.

Le type ...interface{} signifie que les éléments de la tranche peut être de n’importe quel type. En effet, interface{} est le type d'interface le plus général dans Go, permettant à n'importe quel type concret de l'implémenter.

Avantages de l'utilisation des paramètres variadiques :

Les paramètres variadiques offrent plusieurs avantages :

  • Flexibilité : les paramètres variadiques vous permettent de créer des fonctions pouvant accepter n'importe quel nombre d'arguments, ce qui les rend hautement flexible.
  • Réutilisabilité du code : en utilisant des paramètres variadiques, vous pouvez créer des fonctions génériques qui peuvent être utilisées dans divers scénarios sans avoir besoin d'écrire des fonctions distinctes pour différents nombres d'arguments.

Exemple d'utilisation :

Voici un autre exemple de la façon dont vous pourriez utiliser variadique paramètres :

func Min(nums ...int) int {
  if len(nums) == 0 {
    return 0
  }

  min := nums[0]
  for _, num := range nums {
    if num < min {
      min = num
    }
  }
  return min
}
Copier après la connexion

Dans cette fonction, le paramètre nums ...int permet de transmettre n'importe quel nombre d'entiers. La fonction trouve alors la valeur minimale parmi ces entiers.

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