恐怕您没有遍历test_slice数组。如果这样做,您的代码将如下所示:
package main
import (
"os"
"html/template"
)
const templateString = `{{range $i, $test_slice := .}}
{{$i}}
{{end}}`
func main() {
t, err := template.New("foo").Parse(templateString)
if err != nil {
panic(err)
}
test_slice := []string{"t", "e", "s", "t"}
err = t.Execute(os.Stdout, test_slice)
if err != nil {
panic(err)
}
}
输出:
0
1
2
3
您的代码是在地图上迭代,其中test_slice只是其中一个值。你看到的是这张地图的关键名称,其中test_slice之一在哪里。要使其工作,您应该将模板更改为:
{{range $i, $test_slice := .test_slice}}
{{$i}}
{{end}}
考虑这个 Playground 示例:http : //play.golang.org/p/are5JNPXt1
相关分类