Maison  >  Article  >  développement back-end  >  Comment accéder au champ de nom du premier élément du tableau dans les modèles Go ?

Comment accéder au champ de nom du premier élément du tableau dans les modèles Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-07 13:35:03923parcourir

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

Accès au champ .Name du premier élément du tableau dans les modèles Go

Dans les modèles HTML, vous pouvez être confronté à des situations où vous devez accéder la valeur du premier index d'un tableau. Cependant, la simple utilisation de la fonction "index" peut ne pas suffire, notamment lorsque vous essayez d'obtenir des champs spécifiques dans le tableau.

Pour relever ce défi, la syntaxe correcte implique de regrouper l'expression et d'appliquer le sélecteur ".Name". pour récupérer la valeur souhaitée. Considérez le modèle suivant :

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

Dans ce modèle, le tableau ".Doc.Users" contient des objets avec un champ "Nom". En regroupant l'expression « index .Doc.Users 0 » et en appliquant « .Name », vous sélectionnez effectivement le champ « Nom » du premier élément du tableau.

Pour un exemple pratique, imaginez que vous ayez un objet avec un tableau d'utilisateurs :

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

Lorsque vous exécutez ce code sur Go Playground, vous obtiendrez le résultat suivant :

<div>Foobar Bob</div>

Cela démontre la récupération efficace du ".Name " du premier élément du tableau ".Doc.Users" dans votre modèle Go.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn