获取切片的头部或除头部以外的所有内容

如何在 Go 模板中获取切片的头部或尾部?我想用什么:

{{template "breadcrumb" $urlArray[0] $urlArray[1:]}}


海绵宝宝撒
浏览 65回答 1
1回答

红糖糍粑

您可以使用以下方法获取切片元素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))
打开App,查看更多内容
随时随地看视频慕课网APP