Accès à la valeur du premier index d'un tableau dans les modèles Go
Lors de l'utilisation de modèles HTML avec Go, vous pouvez rencontrer des situations où vous besoin d'accéder à la valeur du premier index d'un tableau. Pour relever ce défi, explorons la syntaxe correcte pour extraire les données souhaitées.
L'extrait de code fourni illustre une tentative d'accès au champ Nom du premier élément d'un tableau dans le modèle :
<div>Foobar {{ index .Doc.Users 0}}'</div>
Cependant, cette approche n'obtient pas le résultat souhaité puisque {{ index .Doc.Users 0}} renvoie l'intégralité du premier élément du tableau, y compris les champs Nom et Email. Pour obtenir uniquement le champ Nom, vous devez regrouper l'expression et appliquer le sélecteur .Name comme suit :
<div>Foobar {{ (index .Doc.Users 0).Name }}</div>
Dans cette syntaxe améliorée, la fonction index renvoie le premier élément du tableau Doc.Users, qui est ensuite mis entre parenthèses pour regrouper l'expression et donner ensuite accès au champ Nom.
Par exemple :
type User struct { Name string Email string } 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: "user1@example.com"}, {Name: "Alice", Email: "user2@example.com"}, }, }, } fmt.Println(t.Execute(os.Stdout, m))
Sortie :
<div>Foobar Bob</div><nil>
Cette mise à jour le code produit la sortie souhaitée, où le champ Nom du premier élément du tableau Doc.Users est récupéré avec succès dans le modèle.
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!