如何在Go语言的range循环中结合使用where和first?

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

How to combine where and first in go range

问题

我是你的中文翻译助手,以下是翻译好的内容:

我对Go和Hugo网站生成器都是新手,目前正在创建一个简单的主题。我尝试将where过滤器与first函数结合起来使用,但无法使其正常工作。

我想要的是获取post部分的前10个项目

{{ range where .Data.Pages "Section" "post" }}
    <li><a href="{{.RelPermalink}}">{{.Title}}</a> <em>{{.Summary}}</em></li>
{{ end }}

上述代码可以正常工作,但是如何只返回前10个项目呢(下面的代码无法正常工作):

{{ range first 10 where .Data.Pages "Section" "post" }}
    <li><a href="{{.RelPermalink}}">{{.Title}}</a> <em>{{.Summary}}</em></li>
{{ end }}
英文:

I am new to Go and Hugo site generator and currently creating a simple theme. I am trying to combine a where filter along with first function and I am not able to make it work.

What I want is to get first 10 items in the post section

{{ range where .Data.Pages &quot;Section&quot; &quot;post&quot; }}
    &lt;li&gt;&lt;a href=&quot;{{.RelPermalink}}&quot;&gt;{{.Title}}&lt;/a&gt; &lt;em&gt;{{.Summary}}&lt;/em&gt;&lt;/li&gt;
{{ end }}

The above works fine, but how do I make it return only the first 10 items (the below does not work):

{{ range first 10 where .Data.Pages &quot;Section&quot; &quot;post&quot; }}
    &lt;li&gt;&lt;a href=&quot;{{.RelPermalink}}&quot;&gt;{{.Title}}&lt;/a&gt; &lt;em&gt;{{.Summary}}&lt;/em&gt;&lt;/li&gt;
{{ end }}

答案1

得分: 8

这是来自Hugo模板函数文档的一个示例,我认为这意味着你只是缺少括号:

{{ range first 5 (where .Data.Pages "Section" "post") }}
   {{ .Content }}
{{ end }}
英文:

Here's an example from the Hugo Template Functions documentation that I think means you're just missing parentheses:

{{ range first 5 (where .Data.Pages &quot;Section&quot; &quot;post&quot;) }}
   {{ .Content }}
{{ end }}

huangapple
  • 本文由 发表于 2016年8月23日 12:55:11
  • 转载请务必保留本文链接:https://go.coder-hub.com/39092625.html
匿名

发表评论

匿名网友

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

确定