为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
海绵宝宝撒 2023-06-19 15:20:33
如何在 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))



查看完整回答
反对 回复 2023-06-19
  • 1 回答
  • 0 关注
  • 64 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信