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