Maison  >  Article  >  développement back-end  >  Comment puis-je référencer efficacement le même paramètre plusieurs fois dans fmt.Sprintf ?

Comment puis-je référencer efficacement le même paramètre plusieurs fois dans fmt.Sprintf ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-09 05:58:02662parcourir

How Can I Efficiently Reference the Same Parameter Multiple Times in fmt.Sprintf?

Référencer efficacement le même paramètre dans fmt.Sprintf

Lorsque vous travaillez avec fmt.Sprintf, il est courant de rencontrer des situations où vous devez référencez le même paramètre plusieurs fois dans la chaîne de format. Bien que la duplication du paramètre puisse sembler simple, elle peut s'avérer inefficace et introduire du code redondant.

Solution : Utilisation de l'indexation d'arguments explicites

Pour résoudre ce problème, fmt.Sprintf fournit une solution connue sous le nom d'« indexation d'arguments explicites ». Cette technique vous permet de faire référence à un argument spécifique par son index dans la chaîne de format. En utilisant le spécificateur de format [n] immédiatement avant le verbe de formatage, vous pouvez spécifier quel argument doit être formaté.

Par exemple, considérons le code suivant :

package main

import "fmt"

func main() {
    v := "X"

    // Use explicit argument indexing to reference v four times
    fmt.Printf(
        `CREATE TABLE share_%[1]v PARTITION OF share FOR VALUES IN (%[1]v);
CREATE TABLE nearby_%[1]v PARTITION OF nearby FOR VALUES IN (%[1]v);`,
        v, v, v, v,
    )
}

Dans cet exemple, au lieu de passer v quatre fois, nous utilisons [1]v dans la chaîne de format, qui fait effectivement référence quatre fois au premier argument. Le résultat est une chaîne de format concise et efficace :

CREATE TABLE share_X PARTITION OF share FOR VALUES IN (X);
CREATE TABLE nearby_X PARTITION OF nearby FOR VALUES IN (X);

Avantages de l'indexation explicite des arguments

L'utilisation de l'indexation explicite des arguments offre plusieurs avantages :

  • Duplication de code réduite pour un code plus propre et plus maintenable.
  • Performances améliorées en évitant la copie inutile des arguments.
  • Flexibilité accrue en permettant la spécification dynamique de l'argument à formater.

Conclusion

L'indexation explicite des arguments dans fmt.Sprintf fournit un moyen efficace et flexible de référencer le même paramètre plusieurs fois dans une chaîne de format. Cette technique simplifie non seulement le code, mais améliore également les performances, ce qui en fait un outil précieux pour travailler avec le formatage de chaînes dans Go.

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