Go模板中range遍历字符串/字符串数组的实现问询
可行实现方案
你可以利用当前环境已支持的内置split函数实现需求,无需自定义数组、额外传参或修改底层代码:
调整后模板代码
{{ range $i, $e := until 2 }} {{ range $a := split "abc" "" }} <p>{{ $e }}{{ $a }}. Sample Text</p> {{ end }} <br> {{ end }}
方案说明
- 你原有代码中用到的
until属于Go模板生态默认集成的Sprig函数库的内置函数,同一函数库中的split同样默认可用,不需要额外权限 split "abc" ""会将连续字母字符串按空字符切割,得到["a","b","c"]格式的字符数组,完全替代模板内直接定义数组的逻辑- 运行后输出结果和你预期的效果完全一致
极端场景备选方案
如果你的环境因特殊限制不支持split,在需要遍历的字符数量较少的场景下,可以直接硬编码实现:
{{ range $i, $e := until 2 }} <p>{{ $e }}a. Sample Text</p> <p>{{ $e }}b. Sample Text</p> <p>{{ $e }}c. Sample Text</p> <br> {{ end }}
内容的提问来源于stack exchange,提问作者ekrekeler
相关产品推荐
相关产品推荐

