一尘不染

Golang在模板中用逗号分隔项目

go

我正在尝试显示用逗号分隔的值的列表,并且不想在最后一项(或只有一项,如果只有一项)之后显示逗号。

到目前为止,我的代码:

Equipment:
    {{$equipment := .Equipment}}
    {{ range $index, $element := .Equipment}}
        {{$element.Name}}
        {{if lt $index ((len $equipment) -1)}}
            ,
        {{end}}
    {{end}}

当前输出:Equipment: Mat , Dumbbell , 如何摆脱尾随逗号


阅读 278

收藏
2020-07-02

共1个答案

一尘不染

您可以使用的一个不错的技巧是:

Equipment:
    {{$equipment := .Equipment}}
    {{ range $index, $element := .Equipment}}
        {{if $index}},{{end}}
        {{$element.Name}}
    {{end}}

这是有效的,因为第一个索引为0,在if语句中返回false。因此,此代码为第一个索引返回false,然后在每个后续迭代的前面放置一个逗号。这将导致逗号分隔的列表没有前导或尾随逗号。

2020-07-02