首页  >  文章  >  后端开发  >  如何防止 Go 模板数组输出中出现尾随逗号?

如何防止 Go 模板数组输出中出现尾随逗号?

DDD
DDD原创
2024-11-02 11:58:02910浏览

How to Prevent a Trailing Comma in Go Template Array Output?

使用 Go 模板中的范围检测数组中的最后一项

在 Go 模板中,您可能会遇到需要打印不带尾随逗号的数组的情况在最后一项之后。

考虑以下代码:

<code class="go">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)
}</code>

此代码输出:

1,4,2,

要删除尾随逗号,您可以将模板修改为:

<code class="go">tpl := "{{range $i, $el := .items}}{{if $i}},{{end}}{{$el}}{{end}}."</code>

这里的关键变化是在范围循环内引入了条件语句 {{if $i}},{{end}}。让我们分解一下它的作用:

  • {{range $i, $el := .items}}:此行启动对 items 数组的循环,其中 $i 代表索引,$el 代表索引。代表当前项目。
  • {{if $i}},{{end}}:在循环内,此条件检查它是否不是数组中的第一项。如果不是第一项($i 不为 0),则打印逗号。
  • {{.el}}:这部分打印数组中的当前项目。
  • {{ end}}:此行结束循环。
  • 。在模板末尾:最后,我们在模板末尾添加一个句点(“.”)来终止输出。

以上是如何防止 Go 模板数组输出中出现尾随逗号?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn