Dans l'utilisation conventionnelle de fmt.Sprintf(), les variables sont substituées séquentiellement dans la chaîne formatée. Cependant, il est possible de répliquer une seule variable tout au long de la chaîne.
En utilisant des index d'arguments explicites, la chaîne de format peut être modifiée pour référencer plusieurs fois le même argument. times :
val := "foo" s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)
La notation %[n] avant un verbe de formatage spécifie l'index de l'argument à utiliser. Dans ce cas, %[1] indique que le premier argument (val) doit être utilisé pour toutes les instances de l'espace réservé.
Exécution du Sprintf modifié :
fmt.Println(s)
Produit :
foo in foo is foo
Effectivement, chaque espace réservé de variable dans la chaîne est remplacé par la valeur de val, résultant en la réplication souhaitée.
Pour le scénario spécifique où le premier argument doit être utilisé de manière cohérente, l'index %[1] peut être omis :
fmt.Sprintf("%v in %[1]v is %[1]v", "foo")
Cette syntaxe abrégée simplifie la chaîne de formatage tout en obtenant la même fonctionnalité de réplication.
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!