1 回答

TA貢獻1796條經(jīng)驗 獲得超4個贊
模板中沒有內(nèi)置contains函數(shù),因此您必須為此注冊函數(shù)。您可以使用strings.Contains()標準庫中的函數(shù)。作為參考,這里列出了可用的內(nèi)置模板函數(shù):函數(shù)
你必須像這樣對eqand的參數(shù)進行分組contains:
{{if and (eq .Method "GET") (contains .AssetID .OperationId)}}
true
{{else}}
false
{{end}}
注冊strings.Contains()函數(shù)、解析模板并執(zhí)行它的示例代碼:
t := template.Must(template.New("").Funcs(template.FuncMap{
"contains": strings.Contains,
}).Parse(src))
params := map[string]interface{}{
"Method": "GET",
"AssetID": "/some/path/123",
"OperationId": "123",
}
if err := t.Execute(os.Stdout, params); err != nil {
panic(err)
}
params["OperationId"] = "xxx"
if err := t.Execute(os.Stdout, params); err != nil {
panic(err)
}
這將輸出(在Go Playground上嘗試):
true
false
- 1 回答
- 0 關注
- 126 瀏覽
添加回答
舉報