例如,有一个类似的功能:
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} }}
它给了意想不到的" +"在操作数错误。
中找不到它答案 0 :(得分:7)
没有办法将字符串与运算符连接起来,因为Go模板没有运算符。
使用问题中显示的printf
函数或将调用合并到一个模板表达式中:
{{ TestFunc (printf "%s%s" "x" "y") }}
如果你总是需要为TestFunc参数连接字符串,那么编写TestFunc来处理连接:
func TestFunc(strs ...string) string {
return strings.Trim(strings.Join(strs, ""), " ")
}
{{ TestFunc "x" $var }}