2

問題は、 にリストされている最初のサンプル プログラムtext/template が定型書簡を作成するということです。

.Gift文字は範囲で解析されますが、なぜ

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

.Name.Attended直接言われました。なんで?

4

1 に答える 1

2

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、「ありがとう」は省略されます。

于 2016-04-27T08:08:37.420 に答える