在Jinja2(Python Flask)模板中,我可以通过使用类似于以下代码的元组列表来创建静态导航菜单:
{% for item in [('', 'Home'), ('menu1', 'Menu1'), ('menu2', 'Menu2')] %}
<li><a href="{% if item[0] == '' %}/{% else %}{{ '/%s/' % item[0] }}{% endif %}">{{ item[1] }}</a></li>
{%- endfor %}
我想在Go HTML模板中创建类似的内容。我假设与元组列表等效的是一个字符串数组数组/切片,即类似
{{ $items := { {"", "Home"}, {"menu1", "Menu1"}, {"menu2", "Menu2"} } }}
{{ range $items }}
<li><a href="{{if .[0] == \"\"}}/{{else}}{{ \"/.[0]/\" }}{{end}}">{{ .[1] }}</a></li>
{{end}}
但是,在运行时,特别是当Go尝试解析模板文件时,它会用unexpected "{" in command
惊慌(当我直接使用范围时,它曾经用unexpected "{" in range
惊慌)。
那么,是否可以在模板中声明字符串数组的数组?