我想在Go html / template中呈现一个简单的分页列表。 Go模板仅支持范围内的循环({{range x}}{{.}}{{end}}
) - 我只有一个简单的int
。有没有比创建正确大小的假片,地图或陈更优雅的方式?所有这些看起来都有点沉重,只是为了输出N次。
答案 0 :(得分:3)
您可以注册一个产生切片的函数:
package main
import (
"os"
"text/template"
)
func main() {
funcMap := template.FuncMap{
"slice": func(i int) []int { return make([]int, i) },
}
tmpl := `{{$x := .}}{{range slice 10}}<p>{{$x}}</p>{{end}}`
t, _ := template.New("template").Funcs(funcMap).Parse(tmpl)
t.Execute(os.Stdout, "42")
}
中查看