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

标签 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>

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

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

最佳答案

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

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

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

关于go - 如何在golang模板中的LOOP内执行IF/ELSE条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51048852/

相关文章:

kubernetes - 如何使用 kubectl 命令从 k8s configmap 中的 yaml 文件中获取值?

string - 如何测试一个值是否是模板中的字符串

去redis连接db1

go - 创建在检查类型 Golang 时看起来像另一个的自定义类型

google-app-engine - 关于获取datastore的Cursor行为的问题

使用 eq 和 index 的 Go 模板

templates - 在Go模板中按名称访问结构成员

go - Go 中的 ODBC 返回空/空白记录

go - 匿名结构的组合与继承

go - 重新定义 Go 模板 : sometimes works, 有时会失败