我可以像这样在模板中获取 slice 的大小
{{$size := len .Things}}
我可以像这样在模板中索引 slice :
{{index .Things 4}}
但是
{{index .Things $size}}
给出“超出范围”错误,因为索引 slice 是从零开始的。
我是否完成了所有定义函数的事情,或者是否有可用的算术我可以使用?
即我该怎么做https://stackoverflow.com/a/22535888但在 golang 模板中。
最佳答案
默认情况下没有可用的算法,但您可以 add此功能使用 FuncMap .
下面是如何添加涵盖此案例和其他场景的“添加”功能:
t := template.Must(template.New("").Funcs(template.FuncMap{
"add": func(a, b int) int { return a + b },
}).Parse(theTemplate)
像这样在模板中使用它:
{{index .Things (add $size -1)}}
关于templates - 如何在 golang 模板中获取 slice 的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48940094/