我正在尝试显示逗号分隔值的列表,并且不希望在最后一个项目后显示逗号(如果只有一个项目,则不显示唯一的项目).
我的代码到目前为止:
Equipment:
{{$equipment := .Equipment}}
{{ range $index, $element := .Equipment}}
{{$element.Name}}
{{if lt $index ((len $equipment) -1)}}
,
{{end}}
{{end}}
Run Code Online (Sandbox Code Playgroud)
当前输出:Equipment: Mat , Dumbbell ,
如何摆脱尾随逗号
Rob*_*obF 67
你可以使用的一个很好的技巧是:
Equipment:
{{$equipment := .Equipment}}
{{ range $index, $element := .Equipment}}
{{if $index}},{{end}}
{{$element.Name}}
{{end}}
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为第一个索引是0,它在if语句中返回false.因此,此代码对第一个索引返回false,然后在每个后续迭代前放置一个逗号.这会生成逗号分隔的列表,而不包含前导或尾随逗号.
jma*_*ney 18
添加模板功能为您完成工作.strings.Join
非常适合您的用例.
假设tmpl
包含模板,请将该Join
函数添加到模板中:
tmpl = tmpl.Funcs(template.FuncMap{"StringsJoin": strings.Join})
Run Code Online (Sandbox Code Playgroud)
模板:
Equipment:
{{ StringsJoin .Equipment ", " }}
Run Code Online (Sandbox Code Playgroud)
文档:https://golang.org/pkg/text/template/#FuncMap
归档时间: |
|
查看次数: |
12040 次 |
最近记录: |