Remplacer les variables individuelles dans Sprintf par la même valeur
Dans fmt.Sprintf(), les index d'arguments peuvent être spécifiés explicitement en utilisant la notation [n ], permettant de remplacer différentes variables à différentes positions dans la chaîne formatée. Cependant, utiliser cette approche pour remplacer toutes les variables par la même valeur nécessite une légère modification de la chaîne de format.
Solution :
Au lieu de vous fier à des arguments successifs, utilisez index d'argument entre crochets avant chaque verbe de formatage pour indiquer que le même argument doit être utilisé :
val := "foo" s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)
Cette chaîne de format spécifie que l'index d'argument 1 doit être utilisé pour les trois verbes de formatage, ce qui donne :
"foo in foo is foo"
Options simplifiées :
Le premier index d'argument explicite peut être omis, car sa valeur par défaut est 1 :
fmt.Printf("%v in %[1]v is %[1]v", "foo")
De plus, les parenthèses et l'index des arguments peuvent être combinés en un seul string :
fmt.Printf("%v in %1v is %1v", "foo")
Conclusion :
En utilisant des index d'arguments explicites, il est possible de remplacer toutes les variables de fmt.Sprintf() par la même valeur, en fournissant une plus grande flexibilité dans le formatage des chaînes.
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!