オブジェクトの可用性に基づいてテンプレート コンテンツをカスタマイズする
テンプレートでは、特定のプロパティが設定されていない限り、デフォルトのメタ タグを表示することを目的としています。この場合、別のテキストが表示されるはずです。匿名構造体を使用してハンドラーの 90% のプロパティ値を設定することは可能ですが、不必要な複雑さが生じます。
必要な機能を実現するには、Go テンプレートに組み込まれている not 関数と empty 関数を使用できます。方法は次のとおりです:
{{if not .}} <!-- Output for nil or empty values, including false, 0, and any array, slice, map, or string of length zero --> {{else if eq .MetaValue "some-x"}} <!-- Output for "some-x" property value --> {{else}} <!-- Output for non-empty values other than "some-x" --> {{end}}
このコードは、まず .MetaValue が nil または空かどうかを確認します。そうであれば、最初のセクションが実行されます。 MetaValue が nil または空でない場合、2 番目のセクションでそれが「some-x」と等しいかどうかがチェックされます。存在する場合、2 番目のセクションが実行されます。それ以外の場合は、3 番目のセクションが実行されます。
このアプローチを使用すると、現在 nil を渡すハンドラーにボイラープレート コードを追加する必要がなく、プロパティの存在または値に基づいてテンプレートに表示されるコンテンツを動的に制御できます。
以上がGo でのオブジェクトの可用性に基づいてテンプレートのコンテンツを動的にカスタマイズする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。