2016-04-27 2 views
2

Вопрос заключается в том, что первая примерная программа, указанная в text/template , строит букву формы.Текст Golang/Шаблоны и использование {{with}} {{end}}

Хотя письмо анализируется с Range, почему .Gift нужно использовать через

{{with .Gift}} ..... {{.}} {{end}} 

.Name и .Attended непосредственно на имя. Зачем?

ответ

1

Потому что Gift не является обязательным, а если нет Gift, мы не хотим благодарить за что-либо в письме; но если Gift предоставляется, мы хотим сказать, за дар.

{{with}} действие выполняет свое тело условно, только если передаваемая трубопровод не пуст:

{{with pipeline}} T1 {{end}} 
    If the value of the pipeline is empty, no output is generated; 
    otherwise, dot is set to the value of the pipeline and T1 is 
    executed. 

Так пример содержит следующее:

{{with .Gift -}} 
Thank you for the lovely {{.}}. 
{{end}} 

Это означает, что если .Gift не пусто, затем включите предложение «спасибо» в выводе (письмо). Если .Gift пуст, «спасибо» будет опущено.

Смежные вопросы