如何在golang模板的LOOP中执行IF / ELSE条件?

时间:2018-06-26 17:50:36

标签: go go-templates

我试图进行此测试以弄清楚如何使条件如下:

<h1>Country Index</h1>

<style>
.odd{
    background: orange;
    color: black;
    font-size: 1.5em;
}
.even{
    background: rgb(0, 121, 235);
    color: white;
    font-size: 1.5em;
}
</style>

<ul>
    {{ range $index, $item := .Tee }}
        {{ if $index % 2 == 0 }}
            <li class="even">{{ $index }} - {{ $item }}</li>
        {{ else }}
            <li class="odd">{{ $index }} - {{ $item }}</li>
        {{ end }}
    {{ end }}
</ul>

我收到此错误“ 操作数中意外的“%” ”。

有什么建议解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

不幸的是,您不能在模板中使用+,-,*,/或%之类的运算符。相反,您必须编写自定义函数,并使用funcMap将它们带入模板。

下面是Go Playground上的一个示例,该示例甚至可以检测应用于模板文本的稍有修改版本的整数。

https://play.golang.org/p/LWEhE_TI31o