首頁 >後端開發 >Golang >如何在Go模板中高效連接字串?

如何在Go模板中高效連接字串?

Linda Hamilton
Linda Hamilton原創
2024-11-06 15:25:02618瀏覽

How to Concatenate Strings Efficiently in Go Templates?

在模板中高效連接字串

問題:

在Go 模板中,有沒有一種高效的方法可以使用

提供的範例:

<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>

答案:

Go 範本不支援以下運算符串連接。因此,上述範例將導致錯誤。

解:

  1. 使用printf 函數:
    如第一個範例所示,您可以使用printf 函數:

    <code class="go">{{ $var := printf "%s%s" "x" "y" }}
    {{ TestFunc $var }}  // Returns "xy"</code>
    如第一個範例所示,您可以使用printf 函數來連接字串。這種方法高效靈活。

  2. 組合模板表達式:

    <code class="go">{{ TestFunc (printf "%s%s" "x" "y") }}  // Returns "xy"</code>
    您也可以組合多個模板表達式來實現串聯。

  3. 修改TestFunc 參數處理:

    <code class="go">func TestFunc(strs ...string) string {
        return strings.Trim(strings.Join(strs, ""), " ")
    }
    
    {{ TestFunc "x"  $var }}  // Returns "xy"</code>
    如果您的用例始終涉及連接TestFunc 參數的字串,您可以修改該函數以在內部處理連接。

以上是如何在Go模板中高效連接字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:刮刀競爭對手下一篇:刮刀競爭對手