有没有办法列出使用过的变量?
is there a way to list used variables?
假设我有基本的围棋text/template:
{{.var}} is another {{.var2}}
我想获取模板中使用的变量名称的数组,以便能够在我传递给执行的数据中不可用时跳过执行,是否可以通过某种方式做到这一点?
因为我的数据不是结构而是映射,所以做 .var 总是 return 一些东西:如果它不存在,它将 return 一个空字符串,而我希望如此执行模板时出错。
所以对于上面的例子,我希望得到:
[var var2]
使用模板函数,如果未设置值,returns 会出错。像这样:
template.FuncMap(map[string]interface{}{
"require": func(val interface{}) (interface{}, error) {
if val == nil {
return nil, errors.New("Required value not set.")
}
return val, nil
},
}))
然后在您的模板中:
{{require .Value}}
假设我有基本的围棋text/template:
{{.var}} is another {{.var2}}
我想获取模板中使用的变量名称的数组,以便能够在我传递给执行的数据中不可用时跳过执行,是否可以通过某种方式做到这一点?
因为我的数据不是结构而是映射,所以做 .var 总是 return 一些东西:如果它不存在,它将 return 一个空字符串,而我希望如此执行模板时出错。
所以对于上面的例子,我希望得到:
[var var2]
使用模板函数,如果未设置值,returns 会出错。像这样:
template.FuncMap(map[string]interface{}{
"require": func(val interface{}) (interface{}, error) {
if val == nil {
return nil, errors.New("Required value not set.")
}
return val, nil
},
}))
然后在您的模板中:
{{require .Value}}