为了账号安全,请及时绑定邮箱和手机立即绑定

去替代 python loop.last

去替代 python loop.last

Go
明月笑刀无情 2021-09-09 13:57:25
我希望使用 Go 模板循环遍历数组,并且想向循环中的最后一项添加一个额外的字符串。在python中,我可以做到{% for host in hosts %}{{ host }}{% if loop.last %} ;{% endif %}{% endfor %}希望用 Go 实现同样的事情,下面是 Go 等价物的片段。{{ range $host := $hosts }}{{$host}}{{ end }}谢谢。
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

另一种方法是定义递减函数,例如,


    "dec": func(n int) int { return n - 1 },

然后您可以使用该dec函数来计算最后一个元素,例如,


{{$last := dec (len $hosts)}}

{{range $i, $host := $hosts}}

{{$host}}{{if eq $i $last}} ;{{end}}

{{end}}

当然,如果 Go 模板允许减法会更容易,这样你就可以编写{{$last := (len $hosts) - 1}}. 毕竟,他们坚持在空格减号之前或之后有一个空格,那么为什么不允许简单的算术呢?


查看完整回答
反对 回复 2021-09-09
  • 2 回答
  • 0 关注
  • 214 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信