Maison >développement back-end >Golang >Qu'est-ce que le paramètre `...interface{}` (Variadic Interface) dans 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 }
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)
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 :
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 }
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!