I don't seem to be able to range over an iter.Seq in a template.
error: executing "test" at <.>: range can't iterate over 0x5103c0
resulter := func(yield func(int) bool) {
for _, v := range []int{1, 2, 3} {
if !yield(v) {
return
}
}
}
tpl := `{{ range $aa := . }}{{ $aa }} {{ end }}`
tplParsed := template.Must(template.New("test").Parse(tpl))
err := tplParsed.Execute(os.Stdout, resulter)
if err != nil {
fmt.Println(err)
}
https://go.dev/play/p/f1mrGFnfiUa?v=gotip
https://pkg.go.dev/text/template says:
{{range pipeline}} T1 {{end}}
The value of the pipeline must be an array, slice, map, or channel
...is an iter.Seq or iter.Seq2 not intended to be added there?
Thanks,
Rory
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/golang-nuts/Zom1GtKuUqJeVwse%40campbell-lange.net.