Go テンプレートで文字列を効率的に連結するにはどうすればよいですか?

DDD
リリース: 2024-11-06 09:30:02
オリジナル
868 人が閲覧しました

How to Efficiently Concatenate Strings in Go Templates?

Go テンプレートでの効率的な文字列連結

Go テンプレートでは、さまざまな目的で文字列を連結する必要がよくあります。 strings.Join 関数は多用途のオプションですが、特定のシナリオでは非効率になる可能性があります。この記事では、パフォーマンスを向上させる代替方法について説明します。

Printf 関数の使用

printf 関数は、Go テンプレート内の文字列を連結する簡単かつ効率的な方法を提供します。質問で示したように、printf を使用して複数の文字列を 1 つの結果にマージできます。次の例では、printf を使用して文字列 "x" と "y" を連結します。

{{ $var := printf "%s%s" "x" "y" }}
ログイン後にコピー

テンプレート式の結合

Go テンプレートで文字列を連結する別の方法は、次のとおりです。テンプレート式を結合します。これには、個々の文字列を個別のテンプレート式として記述し、「」演算子を使用してそれらを結合することが含まれます。ただし、この方法では、以下に示すように、変数を括弧で囲む必要があります。

{{ $var := "x" + "(" + "y" + ")" }}
ログイン後にコピー

テンプレート ライブラリの拡張

Go テンプレートで文字列を頻繁に連結している場合場合は、カスタム関数を使用してテンプレート ライブラリを拡張することを検討してください。これにより、特にテンプレートの使用に合わせて文字列の連結を処理する関数を定義できます。次の例は、文字列を連結するカスタム TestFunc を定義する方法を示しています:

<code class="go">func TestFunc(strs ...string) string {
    return strings.Trim(strings.Join(strs, ""), " ")
}</code>
ログイン後にコピー

その後、次のようにテンプレートで TestFunc を使用できます:

{{ $var := "x"  $var }}
{{ TestFunc "x"  $var }}
ログイン後にコピー

以上がGo テンプレートで文字列を効率的に連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!