【问题标题】:Is there an efficient way to concatenate strings有没有一种有效的方法来连接字符串
【发布时间】:2017-07-29 13:25:28
【问题描述】:

比如有这样一个函数:

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

它在下面的示例中运行:

 {{ $var := printf "%s%s" "x" "y" }}
 {{ TestFunc $var }}

有没有在模板中将字符串与运算符连接起来?

 {{ $var := "y" }}
 {{ TestFunc "x" + $var }}

 {{ $var := "y" }}
 {{ TestFunc "x" + {$var} }}

它在操作数错误中给出了意外的“+”。

我在文档中找不到 (https://golang.org/pkg/text/template/)

【问题讨论】:

    标签: go concatenation go-templates


    【解决方案1】:

    没有办法用运算符连接字符串,因为 Go 模板没有运算符。

    使用问题中所示的printf 函数或将调用组合在单个模板表达式中:

    {{ TestFunc (printf "%s%s" "x" "y") }}
    

    如果您总是需要为 TestFunc 参数连接字符串,则编写 TestFunc 来处理连接:

    func TestFunc(strs ...string) string {
       return strings.Trim(strings.Join(strs, ""), " ")
    }
    
    {{ TestFunc "x"  $var }}
    
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 2011-06-12
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多