对于模板中的循环

huangapple go评论99阅读模式
英文:

for loop in templates

问题

我需要在模板中使用for循环。

for i := start; i < finish; i++ {
    // 做一些事情
}

有没有只使用预先准备好的数组和range的方法,或者如何将这个功能添加到模板中?

英文:

I need for loop in template.

for i := start; i &lt; finish; i++ {
    // do something
}

Is it just one way by using range with prepared array or how can I add this functional to templates?

答案1

得分: 3

最简单的方法可能是使用range和一个外部函数。例如(在play中):

func For(start, end int) <-chan int {
    c := make(chan int)
    go func() {
        for i := start; i < end; i++ {
            c <- i
        }
        close(c)
    }()
    return c
}

在模板中:

<!-- language: none -->
{{range For 0 10}}
i: {{.}}
{{end}}
英文:

The simplest way is probably to use range and an external function. For example (On play):

func For(start, end int) &lt;-chan int {
	c := make(chan int)
	go func() {
		for i := start; i &lt; end; i++ {
			c &lt;- i
		}
		close(c)
	}()
	return c
}

in the template:

<!-- language: none -->

{{range For 0 10}}
i: {{.}}
{{end}}

huangapple
  • 本文由 发表于 2014年7月19日 19:10:10
  • 转载请务必保留本文链接:https://go.coder-hub.com/24839728.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定