Maison > développement back-end > Golang > Comment puis-je répéter une variable dans fmt.Sprintf de Go à l'aide d'index d'arguments ?

Comment puis-je répéter une variable dans fmt.Sprintf de Go à l'aide d'index d'arguments ?

Patricia Arquette
Libérer: 2024-12-30 10:59:18
original
855 Les gens l'ont consulté

How Can I Repeat a Variable in Go's fmt.Sprintf Using Argument Indexes?

Réplication de variables dans Sprintf à l'aide d'index d'arguments explicites

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.

Solution

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)
Copier après la connexion

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é.

Sortie

Exécution du Sprintf modifié :

fmt.Println(s)
Copier après la connexion

Produit :

foo in foo is foo
Copier après la connexion

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.

Forme simplifié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")
Copier après la connexion

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!

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