Maison >développement back-end >Golang >Comment puis-je répéter une seule variable sur plusieurs espaces réservés dans fmt.Sprintf() de Go ?

Comment puis-je répéter une seule variable sur plusieurs espaces réservés dans fmt.Sprintf() de Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-21 12:53:21788parcourir

How Can I Repeat a Single Variable Across Multiple Placeholders in Go's fmt.Sprintf()?

Réplication de valeurs de variables dans des chaînes formatées à l'aide de Sprintf

Dans Go, fmt.Sprintf() permet le formatage de chaînes à l'aide d'espaces réservés qui sont remplacé par les valeurs fournies. Bien qu'il attribue généralement à chaque espace réservé une valeur unique, il est souvent souhaitable de remplacer tous les espaces réservés par la même variable.

Indexation explicite des arguments

Pour y parvenir, fmt.Sprintf () utilise l'indexation d'arguments explicite. Dans la chaîne de format, placer [n] avant un verbe de formatage garantit que le nième argument (indexé à partir de 1) est formaté au lieu de la séquence ascendante par défaut. De même, [n] placé avant un * pour la largeur ou la précision indique l'argument contenant la valeur spécifiée.

Exemple d'utilisation

Considérez l'exemple fourni dans la question :

val := "foo"
s := fmt.Sprintf("%v in %v is %v", val)

Pour répliquer la variable val sur tous les espaces réservés, modifiez la chaîne de format comme suit :

s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)

Cela donne le résultat souhaité :

"foo in foo is foo"

Notation simplifiée

Notez que le premier index d'argument explicite peut être omis car la valeur par défaut est 1 :

s := fmt.Sprintf("%v in %[1]v is %[1]v", val)

Conclusion

En tirant parti de l'indexation d'arguments explicites, fmt.Sprintf() peut être utilisé pour répliquer une valeur de variable unique dans tous les espaces réservés dans un format formaté. chaîne, fournissant une solution concise et efficace pour des scénarios spécifiques.

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!

Déclaration:
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