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

Barbara Streisand
リリース: 2024-11-08 18:24:02
オリジナル
241 人が閲覧しました

How to Concatenate Strings in Go Templates?

C

Go テンプレートでの文字列の連結

Go でテキスト/テン​​プレートを操作する場合、多くの場合、文字列を連結して動的コンテンツを構築する必要があります。ただし、他の多くのプログラミング言語とは異なり、Go テンプレートは文字列連結演算子をサポートしていません。

Issue

次の例を考えてみましょう:

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

$var には連結された文字列が含まれています"xy" ですが、printf 関数は TestFunc とは別に実行されるため、TestFunc は文字列 "y" のみを受け取ります。 call.

解決策

Go テンプレートで文字列を効率的に連結する方法はいくつかあります。 1 つの方法は、上記の例のように printf 関数を使用することです。もう 1 つのオプションは、複数のテンプレート式を 1 つの式に結合することです:

{{ TestFunc (printf "%s%s" "x" "y") }}
ログイン後にコピー

TestFunc を呼び出す前に文字列を頻繁に連結する場合は、連結を処理するように TestFunc を変更する方が効率的です:

func TestFunc(strs ...string) string {
   return strings.Trim(strings.Join(strs, ""), " ")
}

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

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート