在 Go 模板范围循环中,循环外声明的变量是否在每次迭代时重置?

我正在尝试使用在 Go 模板范围循环之外声明的变量来查看上一篇文章是否与当前文章发生在同一天。这是一个简化的示例。


哪里.Posts是一个 post 结构数组,每个结构都有 a.Content和 a .Date。


{{ $prevDate := "" }}

{{ range $post := .Posts }}

    {{ if ne $prevDate $post.Date }}

        <div class="post-date">Posts dated: {{ $post.Date }}</div>

    {{ end }}

    <div class="post-content">{{ $post.Content }}</div>

    {{ $prevDate := $post.Date }}

{{ end }}

问题是它$prevDate似乎""在循环的每次迭代开始时被重置。


任何人都可以帮助我理解为什么$prevDate每次迭代都会重置的值,并可能建议一种方法来完成我在这里尝试做的事情?


ITMISS
浏览 244回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go