小编典典

使用go-templates内的范围检测数组中的最后一项

go

该程序输出简单

1,4,2,

但我想打印

1,4,2。

如您所见,逗号是在数组的每个项目之后打印的。

package main

import "os"
import "text/template"

func main() {
    params := map[string]interface{}{
        "items": [3]int{1, 4, 2},
    }
    tpl := "{{range $i, $el := .items}}{{$el}},{{end}}"
    lister, _ := template.New("foo").Parse(tpl)
    lister.Execute(os.Stdout, params)
}

有没有一种方法可以更改,{{range $i, $el := .items}}{{$el}},{{end}}并确保最后一项将打印“。” 代替 ”,”


阅读 301

收藏
2020-07-02

共1个答案

小编典典

您可以使用

tpl := "{{range $i, $el := .items}}{{if $i}},{{end}}{{$el}}{{end}}."

实现这一目标。诀窍是首先发出逗号分隔符,而不是该范围内的第一项。

2020-07-02