17

私のテンプレートには、いくつかのデフォルト タグを含めたいと考えていmetaます (90% の確率で)。ただし、特定のプロパティが設定されている場合は、別のテキスト セットを表示したいと考えています。

匿名を設定し、またはのいずれかstructでプロパティを設定できることを知っています。ただし、これは、現在渡されているハンドラーの 90% に匿名構造体を追加する必要があることを意味します。"default""some-x"nil

のようなことをする方法はありますか

{{if eq . nil}} 
   // default meta tag
{{else if eq .MetaValue "some-x"}} 
   //other
{{end}}

上記のコードのようなものを試してみると、コンパイルされますが、私が望むことはできません。多くのボイラープレートを追加せずに適切に処理する方法についての提案に感謝します.

ありがとう!

4

3 に答える 3

9

、、空の文字列、またはその他の誤った型に対してのみチェックしていることを確認したい場合は、関数を使用nilしてこれ実現できます。0falsekindIs

{{ if kindIs "invalid" . }} 
   // only if variable is literally nil. falsey values will fallthrough.
{{ else if eq .MetaValue "some-x" }} 
   // other
{{ else }}
   // final case, if any
{{ end }}
于 2020-07-02T21:17:29.050 に答える