Werden in einer Go-Template-Range-Schleife Variablen, die außerhalb der Schleife deklariert sind, bei jeder Iteration zurückgesetzt?
Ich versuche, eine Variable zu verwenden, die außerhalb einer Go-Vorlagenbereichsschleife deklariert wurde, um festzustellen, ob der vorherige Beitrag am selben Tag wie der aktuelle Beitrag aufgetreten ist. Hier ist ein vereinfachtes Beispiel.
Wo.Posts
ist ein Array von Post-Strukturen, die jeweils ein @ habe.Content
und ein.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 }}
Das Problem ist, dass$prevDate
scheint auf @ zurückgesetzt zu se""
am Anfang jeder Iteration der Schleife.
Kann mir jemand helfen, zu verstehen, warum der Wert von$prevDate
wird bei jeder Iteration zurückgesetzt und schlägt möglicherweise einen Weg vor, um das zu erreichen, was ich hier zu tun versuche?