Как использовать переменную шаблона вне цикла? - PullRequest
3 голосов
/ 10 июня 2019

В шаблоне go я хотел бы получить последнее сообщение в цикле, которое будет использоваться вне цикла:

    {{range $m := .messages}}      
            <div>Message subject: {{$m.Subject}}</div>

            {{$lastMsg := $m}}
    {{end}}


    <div>The last message's subject: {{$lasMsg.Subject}}</div> 

Но это не работает, и я получаю эту ошибку:

 undefined variable "$lastMsg"

Я также пытался {{.lastMsg := $m}}, но потом получаю:

 unexpected ":=" in operand

Так как я могу это исправить?

1 Ответ

7 голосов
/ 10 июня 2019

Вам необходимо объявить переменную lastMsg вне цикла диапазона, чтобы использовать ее вне цикла

{{$lastMsg := ""}} // declare outside the loop
{{range $m := .messages}}      
        <div>Message subject: {{$m.Subject}}</div>

        {{$lastMsg = $m}} // assign the value 
{{end}}
...