ホームページ >バックエンド開発 >Golang >GoでHTMLテンプレートのMap要素のStructフィールドにアクセスするにはどうすればよいですか?

GoでHTMLテンプレートのMap要素のStructフィールドにアクセスするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-24 07:27:02981ブラウズ

How to Access Struct Field of Map Element in HTML Template with Go?

Go を使用した HTML テンプレートのマップ要素の構造体フィールドへのアクセス

Go テンプレートでマップと構造体を操作する場合は、次のことを確認することが重要です。フィールドにはテンプレートからアクセスできます。この場合、taskMap は Task 構造体を値として保持し、タスクの説明には「.desc」を使用してアクセスします。

テンプレート内のフィールドにアクセスするには、フィールドをエクスポートする必要があります。これは、構造体定義のフィールド名を大文字にすることで実現します:

<code class="go">type Task struct {
   cmd string
   args []string
   Desc string // Capitalized to export the field
}</code>

同様に、マップ エントリとテンプレート参照を "Desc" を大文字にして更新します:

<code class="go">var taskMap = map[string]Task{
    "find": Task{
        cmd: "find",
        args: []string{"/tmp/"},
        Desc: "find files in /tmp dir",
    },
    "grep": Task{
        cmd: "grep",
        args:[]string{"foo","/tmp/*", "-R"},
        Desc: "grep files match having foo",
    },
}

<html>
{{range $key, $value := .}}
   <li>Task Name:        {{$key}}</li>
   <li>Task Value:       {{$value}}</li>
   <li>Task description: {{$value.Desc}}</li>
{{end}}
</html></code>

これらの変更により、テンプレートには各タスクの説明フィールドが正常に表示されます。

以上がGoでHTMLテンプレートのMap要素のStructフィールドにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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