首页 > 后端开发 > Golang > 如何在Go模板中高效连接字符串?

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

Linda Hamilton
发布: 2024-11-06 15:25:02
原创
608 人浏览过

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>
    登录后复制
  2. 组合模板表达式:
    您还可以组合多个模板表达式来实现串联。

    <code class="go">{{ TestFunc (printf "%s%s" "x" "y") }}  // Returns "xy"</code>
    登录后复制
  3. 修改 TestFunc 参数处理:
    如果您的用例始终涉及连接 TestFunc 参数的字符串,您可以修改该函数以在内部处理连接。

    <code class="go">func TestFunc(strs ...string) string {
        return strings.Trim(strings.Join(strs, ""), " ")
    }
    
    {{ TestFunc "x"  $var }}  // Returns "xy"</code>
    登录后复制

以上是如何在Go模板中高效连接字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板