如何在 Go 模板中獲取切片的頭部或尾部?我想用什么:{{template "breadcrumb" $urlArray[0] $urlArray[1:]}}
1 回答

紅糖糍粑
TA貢獻1815條經驗 獲得超6個贊
您可以使用以下方法獲取切片元素index:
{{ $length := len $urlArray }}
first - {{index $urlArray 0}}
但是最后一個更難,因為你必須得到 index $length - 1,并且模板中不允許算術運算。
但是你可以將 go 函數暴露給模板:
func first(s []string) string {
if len(s) == 0 {
return ""
}
return s[0]
}
func last(s []string) string {
if len(s) == 0 {
return ""
}
return s[len(s) - 1]
}
const tmpl = `first - {{ first $urlArray }}, last - {{ last $urlArray }}`
t := template.Must(template.New("").Funcs(template.FuncMap{"first": first, "last": last}).Parse(tmpl))
- 1 回答
- 0 關注
- 125 瀏覽
添加回答
舉報
0/150
提交
取消