テンプレート条件での Nil 値の許可
Go テンプレートを使用する場合、オブジェクトがは nil ですが、特定のプロパティが設定されている場合は別のコンテンツを表示します。匿名構造体を使用することは可能ですが、不必要なボイラープレートが発生する可能性があります。
多用途のソリューション
この問題を適切に解決するには、次のアプローチを検討してください。
テンプレート コード
{{if not .}} // default content {{else if eq .MetaValue "some-x"}} // some-x case {{else}} // other case {{end}}
説明
このテンプレート コードは、次の式を順番に評価します:
eq の代わりに not 演算子を使用します。 nil の場合、このアプローチは、オブジェクトが nil、空、または nil 以外の値を持つ状況を含む、考えられるすべてのシナリオを処理します。これにより、明示的な nil チェックや不必要な匿名構造体の導入が不要になり、テンプレートがクリーンかつ簡潔に保たれます。
以上がGo テンプレートで Nil オブジェクトとプロパティ値に基づいて異なるコンテンツを表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。