有没有一种有效的方法来连接字符串

Is there an efficient way to concatenate strings

比如有这样一个函数:

 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 模板没有运算符。

使用问题中显示的 printf 函数或将调用合并到一个模板表达式中:

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

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

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

{{ TestFunc "x"  $var }}