В цикле диапазона шаблона Go объявляются ли переменные вне цикла сброса на каждой итерации?

Я пытаюсь использовать переменную, объявленную вне цикла диапазона шаблона Go, чтобы увидеть, произошло ли предыдущее сообщение в тот же день, что и текущее сообщение. Вот упрощенный пример.

куда.Posts массив почтовых структур, каждый из которых имеет.Content и.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 сбрасывается на каждой итерации и, возможно, предложить способ выполнить то, что я пытаюсь сделать здесь?

Ответы на вопрос(2)

Ваш ответ на вопрос