在 Go 模板中使用范围检测数组中的最后一项
在 Go 模板中,当使用 range 指令迭代数组时,很难避免在最后一项之后打印尾随逗号。将数据渲染为文本时,这可能会导致意外或不正确的输出。
问题:
以下 Go 模板在数组中的每个项目后输出逗号:
{{range $i, $el := .items}}{{$el}},{{end}}
但是,所需的输出是在最后一项之后打印一个句点:
1,4,2.
解决方案:
在之后打印一个句点数组中的最后一项,模板可以修改如下:
<code class="text">{{range $i, $el := .items}}{{if $i}},{{end}}{{$el}}{{end}}.</code>
这里的技巧是使用条件表达式 {{if $i}} 在每个项目之前发出逗号分隔符,除了对于第一个。通过在范围指令的右大括号后添加句点,程序可确保在最后一项后打印句点。
此更新的模板将迭代数组并使用逗号分隔符打印每个项目,除了第一个。在最后一项之后,将打印句点而不是逗号。
以上是如何打印 Go 模板范围中最后一项之后的句点?的详细内容。更多信息请关注PHP中文网其他相关文章!