Maison > développement back-end > Golang > Comment concaténer des chaînes efficacement dans les modèles Go ?

Comment concaténer des chaînes efficacement dans les modèles Go ?

Linda Hamilton
Libérer: 2024-11-06 15:25:02
original
609 Les gens l'ont consulté

How to Concatenate Strings Efficiently in Go Templates?

Concaténer efficacement des chaînes dans des modèles

Question :

Dans les modèles Go, existe-t-il un moyen efficace de concaténer des chaînes à l'aide opérateurs comme " ?

Exemples fournis :

<code class="go">{{ $var := printf "%s%s" "x" "y" }}
{{ TestFunc $var }}  // Returns "xy"

{{ $var := "y" }}
{{ TestFunc "x" + $var }}  // Error: unexpected "+" in operand

{{ $var := "y" }}
{{ TestFunc "x" + {$var} }}  // Error: unexpected "+" in operand</code>
Copier après la connexion

Réponse :

Les modèles Go ne prennent pas en charge les opérateurs pour concaténation de chaînes. Par conséquent, les exemples ci-dessus entraîneront des erreurs.

Solutions :

  1. Utilisez la fonction printf :
    Comme démontré dans le premier exemple, vous pouvez utiliser la fonction printf pour concaténer des chaînes. Cette méthode est efficace et flexible.

    <code class="go">{{ $var := printf "%s%s" "x" "y" }}
    {{ TestFunc $var }}  // Returns "xy"</code>
    Copier après la connexion
  2. Combiner des expressions de modèle :
    Vous pouvez également combiner plusieurs expressions de modèle pour réaliser une concaténation.

    <code class="go">{{ TestFunc (printf "%s%s" "x" "y") }}  // Returns "xy"</code>
    Copier après la connexion
  3. Modifier la gestion de l'argument TestFunc :
    Si votre cas d'utilisation implique toujours la concaténation de chaînes pour l'argument TestFunc, vous pouvez modifier la fonction pour gérer la concaténation en interne.

    <code class="go">func TestFunc(strs ...string) string {
        return strings.Trim(strings.Join(strs, ""), " ")
    }
    
    {{ TestFunc "x"  $var }}  // Returns "xy"</code>
    Copier après la connexion

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