Go模板中字符串或字符串数​​组的范围

Range over string or string array in Go template

我正在编写一个使用连续字母字符的 Go 模板。举个简单的例子:

{{ range $i, $e := until 2 }}
{{ range $a := .[]string{"a", "b", "c"} }}
<p>{{ $e }}{{ $a }}. Sample Text</p>
{{ end }}
<br>
{{ end }}

应该产生:

<p>0a. Sample Text</p>
<p>0b. Sample Text</p>
<p>0c. Sample Text</p>
<br>
<p>1a. Sample Text</p>
<p>1b. Sample Text</p>
<p>1c. Sample Text</p>
<br>

如果 go 模板允许您在模板中以这种方式定义数组,则上述代码将起作用。我需要类似于此的东西,或者 answer here,但我无法编写自己的函数。我正在将它用于另一个允许我编写 go 模板的软件,但我无法修改 go 代码本身,这意味着也没有传递变量。

我问的是不可能的事吗?

看起来模板主机使用了 Sprig 的 Sprig. Use the list 功能。

{{ range $i, $e := until 2 }}
{{ range $a := list "a" "b" "c"}}
<p>{{ $e }}{{ $a }}. Sample Text</p>
{{- end}}
<br>
{{- end}}

Run an example on the playground.