Maison >développement back-end >Golang >Comment puis-je simuler des arguments de fonction nommée dans Go ?
Dans Go, les appels de fonction nécessitent que les arguments soient répertoriés dans le même ordre que les paramètres de la fonction. Cependant, vous préférerez peut-être spécifier explicitement les arguments par leur nom comme ceci :
MyFunction(name: "Bob", address: "New York", nick: "Builder", age: 30, value: 1000)
Arguments non nommés non pris en charge
Malheureusement, Go ne prend pas en charge les arguments nommés. pour les fonctions. Comme mentionné dans la spécification Go, vous devez spécifier les valeurs dans l'ordre attendu pour tous les paramètres non variadiques.
Option 1 : Utiliser un Struct Wrapper
Pour imiter nommé arguments, vous pouvez créer une structure qui encapsule les paramètres de la fonction :
type Params struct { name, address, nick string age, value int } func MyFunction(p Params) { // perform some operations using p.name, p.address, etc. } func main() { MyFunction(Params{ name: "Bob", address: "New York", nick: "Builder", age: 30, value: 1000, }) }
Option 2 : Utiliser un assistant Fonction
Si vous ne pouvez pas modifier la fonction d'origine, créez une fonction d'assistance qui prend un paramètre struct et appelle la fonction d'origine avec les champs appropriés comme arguments.
func MyFunction2(p Params) { MyFunction(p.name, p.address, p.nick, p.age, p.value) } func main() { MyFunction2(Params{ name: "Bob", address: "New York", nick: "Builder", age: 30, value: 1000, }) }
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!