问题:
检索 Go 中切片的大小使用 len 模板很简单。也可以检索索引值,但索引是从零开始的,导致在尝试访问最后一个元素时出现“超出范围”错误。如何通过在模板中进行算术运算来获取最后一个元素?
答案:
虽然 Go 模板不提供内置算术运算,但您可以利用用于添加自定义函数的 FuncMap。以下是定义“add”函数的方法:
import "html/template" func add(a, b int) int { return a + b }
要将“add”函数集成到您的模板中,请使用以下语法:
t := template.Must(template.New("").Funcs(template.FuncMap{ "add": func(a, b int) int { return a + b }, }).Parse(theTemplate)
现在,您可以访问像这样的模板中的最后一个元素:
{{index .Things (add $size -1)}}
这将正确返回切片的最后一个元素,而不会触发“超出范围”错误。 “add”函数还可以处理其他需要算术运算的场景。
以上是如何访问模板中 Go 切片的最后一个元素而不出现'超出范围”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!