获取切片的头部或除头部以外的所有内容
Get the head or everything but the head of a slice
如何在 Go 模板中获取切片的头部或尾部?
我想使用什么:
{{template "breadcrumb" $urlArray[0] $urlArray[1:]}}
您可以使用 index
:
获取切片元素
{{ $length := len $urlArray }}
first - {{index $urlArray 0}}
但是最后一个比较难,因为你必须得到索引$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))
如何在 Go 模板中获取切片的头部或尾部? 我想使用什么:
{{template "breadcrumb" $urlArray[0] $urlArray[1:]}}
您可以使用 index
:
{{ $length := len $urlArray }}
first - {{index $urlArray 0}}
但是最后一个比较难,因为你必须得到索引$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))