ホームページ >バックエンド開発 >Golang >Go でのオブジェクトの可用性に基づいてテンプレートのコンテンツを動的にカスタマイズする方法

Go でのオブジェクトの可用性に基づいてテンプレートのコンテンツを動的にカスタマイズする方法

Susan Sarandon
Susan Sarandonオリジナル
2024-11-08 11:53:01751ブラウズ

How to Dynamically Customize Template Content Based on Object Availability in Go?

オブジェクトの可用性に基づいてテンプレート コンテンツをカスタマイズする

テンプレートでは、特定のプロパティが設定されていない限り、デフォルトのメタ タグを表示することを目的としています。この場合、別のテキストが表示されるはずです。匿名構造体を使用してハンドラーの 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。