例如,有一个类似的功能:
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 }}