首頁 > 後端開發 > Golang > 主體

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

Linda Hamilton
發布: 2024-11-06 15:25:02
原創
532 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!