我有一个使用 Go 模板的自定义函数,如下所示:
"listOperate": func(lst []string, fn func(string) string) (result []string) {
result = make([]string, len(lst))
for i, item := range lst {
result[i] = fn(item)
}
return result
},
我有另一个对字符串进行操作的函数:
"toCamel": func(str string) (result string) {
return strcase.ToCamel(str)
}
如何使用第二个函数作为参数来调用第一个函数?
副驾驶给了我以下
{{ listOperate . toCamel}}
这是有道理的,但解析失败,出现错误
at <toCamel>: wrong number of args for toCamel: want 1 got 0" (template.ExecError)
这表明它正在尝试执行该函数而不是传递它。Google 为我提供了大量有关自定义函数的信息,但没有一个能解决这个问题。