Em um loop de intervalo do modelo Go, as variáveis declaradas fora do loop são redefinidas em cada iteração?

Estou tentando usar uma variável declarada fora de um loop de intervalo do modelo Go para ver se a postagem anterior ocorreu no mesmo dia da postagem atual. Aqui está um exemplo simplificado.

Onde.Posts é uma matriz de estruturas de post que cada uma tem uma.Content e um.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 }}

O problema é que$prevDate parece ter sido redefinido para"" no início de cada iteração do loop.

Alguém pode me ajudar a entender por que o valor de$prevDate é redefinido em cada iteração e talvez sugira uma maneira de realizar o que estou tentando fazer aqui?

questionAnswers(2)

yourAnswerToTheQuestion