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?