ホームページ > バックエンド開発 > Golang > 構造体フィールドの型に基づいて Go HTML テンプレートでデータを表示する方法?

構造体フィールドの型に基づいて Go HTML テンプレートでデータを表示する方法?

Susan Sarandon
リリース: 2024-11-26 18:05:12
オリジナル
328 人が閲覧しました

How to Display Data in Go HTML Templates Based on Struct Field Type?

Golang HTML テンプレート内のスイッチまたは if/elseif/else

問題:

の表示Go 構造体フィールドのタイプに基づいたテンプレート内のデータ。現在の解決策には、複数の {{if}} ステートメントをネストするか、型をテストするための個別の関数を作成することが含まれます。

解決策:

Switch ステートメント:

{{range .Paragraphs}}
    {{switch .Type}}
    {{case paragraph_hypothesis}}:
        -- hypothesis presentation code  --
    {{case paragraph_attachment}}:
        -- attachment presentation code  --
    {{case paragraph_menu}}:
        -- menu --
    {{default}}:
        -- default code --
    {{end}}
{{end}}
ログイン後にコピー

if/elseif/elseステートメント:

{{range .Paragraphs}}
    {{if .IsAttachment}}
        -- attachment presentation code  --
    {{elseif .IsMenu}}
        -- menu --
    {{else}}
        -- default code --
    {{end}}
{{end}}
ログイン後にコピー

この例では、追加の {{else if .IsMenu}} は、paragraph_attachment をチェックした後に、paragraph_menu タイプをチェックします。

関数の使用:

プレゼンテーションロジックが複雑な場合は、次のように定義することをお勧めします。 Go コード内の個別の関数。たとえば、GetHypothesisHTML() や GetAttachmentHTML() などの関数を定義し、テンプレートから呼び出すことができます。

{{range .Paragraphs}}
    {{if .IsHypothesis}}
        {{GetHypothesisHTML .}}
    {{elseif .IsAttachment}}
        {{GetAttachmentHTML .}}
    {{elseif .IsMenu}}
        -- menu --
    {{else}}
        -- default code --
    {{end}}
{{end}}
ログイン後にコピー

switch ステートメント、if/elseif/else ステートメント、または専用関数を活用することで、次のことが可能になります。 Go 構造体フィールドの型に基づいて、テンプレート内のデータをわかりやすく簡潔に表示します。

以上が構造体フィールドの型に基づいて Go HTML テンプレートでデータを表示する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート