2017-07-29 101 views
2

例如一種有效的方式,有這樣一個功能:是否有連接字符串中golang模板

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/

回答

4

沒有連接字符串與運營商,因爲圍棋的模板沒有運營商的一種方式。

使用printf功能中的問題顯示或一個模板表達結合起來,電話:

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

如果你總是需要連接字符串的TestFunc參數,然後寫TestFunc處理串聯:

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

{{ TestFunc "x" $var }} 
+0

好招。感謝您的回答。 –