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 サイトの他の関連記事を参照してください。