Go テンプレートで配列の最初のインデックスの値にアクセスする
Go で HTML テンプレートを使用する場合、次のような課題に遭遇する可能性があります。テンプレート内に埋め込まれた配列の最初のインデックスの値にアクセスする方法。次のテンプレート コードについて考えてみましょう。
<div>Foobar {{ index .Doc.Users 0 }}</div>
ここでは、「Doc.Users」スライスの最初の要素の「Name」フィールドの値を取得することを目的としています。ただし、異なる構文を使用したいくつかの試みは失敗しました。
「Doc.Users」配列の最初の要素の「Name」フィールドを取得するための正しい構文は次のとおりです。
<div>Foobar {{ (index .Doc.Users 0).Name }}</div>
この構文を理解するために、次のように分解してみましょう。
式をグループ化してセレクターを適用すると、目的の「名前」フィールドに効果的にアクセスできます。
このソリューションをテストするために実行できるサンプル コードを次に示します:
package main import ( "fmt" "html/template" "os" ) type User struct { Name string Email string } func main() { t := template.Must(template.New("").Parse(` <div>Foobar {{ (index .Doc.Users 0).Name }}</div> `)) m := map[string]interface{}{ "Doc": map[string]interface{}{ "Users": []User{ {Name: "Bob", Email: "[email protected]"}, {Name: "Alice", Email: "[email protected]"}, }, }, } fmt.Println(t.Execute(os.Stdout, m)) }
このコードは次の出力を生成し、「Doc.Users」スライスの最初のユーザーの「Name」フィールドへのアクセスが成功したことを示します。
<div>Foobar Bob</div>
以上がGo テンプレートで配列の最初のインデックスの値にアクセスする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。