该程序输出简单
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}}并确保最后一项将打印“。” 代替 ”,”
{{range $i, $el := .items}}{{$el}},{{end}}
您可以使用
tpl := "{{range $i, $el := .items}}{{if $i}},{{end}}{{$el}}{{end}}."
实现这一目标。诀窍是首先发出逗号分隔符,而不是该范围内的第一项。