ホームページ  >  記事  >  バックエンド開発  >  Go テンプレートの最初の配列要素の名前フィールドにアクセスするにはどうすればよいですか?

Go テンプレートの最初の配列要素の名前フィールドにアクセスするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-07 13:35:03923ブラウズ

How to Access the Name Field of the First Array Element in Go Templates?

Go テンプレートの最初の配列要素の .Name フィールドへのアクセス

HTML テンプレートでは、アクセスする必要がある状況に直面することがあります。配列の最初のインデックスの値。ただし、特に配列内の特定のフィールドを取得しようとする場合は、単に「index」関数を使用するだけでは不十分な場合があります。

この課題に対処するには、正しい構文には式をグループ化し、「.Name」セレクターを適用する必要があります。目的の値を取得します。次のテンプレートを考えてみましょう:

<div>Foobar {{ (index .Doc.Users 0).Name }}</div>

このテンプレートでは、「.Doc.Users」配列に「Name」フィールドを持つオブジェクトが含まれています。 「index .Doc.Users 0」式をグループ化し、「.Name」を適用すると、最初の配列要素の「Name」フィールドが効果的に選択されます。

実際の例として、次のようなオブジェクトがあると想像してください。ユーザーの配列:

import "fmt"
import "os"
import "text/template"

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))
}

このコードを Go プレイグラウンドで実行すると、次の出力が得られます:

<div>Foobar Bob</div>

これは、「.Name」の効果的な取得を示しています。 Go テンプレート内の「.Doc.Users」配列の最初の要素の「」フィールド。

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

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