Maison >développement back-end >Golang >Comment parcourir des tableaux parallèles avec une plage et un index dans les modèles Go ?

Comment parcourir des tableaux parallèles avec une plage et un index dans les modèles Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-04 12:59:29750parcourir

How to Iterate Through Parallel Arrays with Range and Index in Go Templates?

Itérer à travers des tableaux parallèles avec plage et index

Comment pouvons-nous parcourir deux tableaux parallèles de même taille et lister les éléments des deux tableaux vous utilisez simultanément range ?

Le code suivant démontre une tentative infructueuse :

<code class="go">{{range $i, $e := .First}}{{ $e }} - {{ index .Second $i }}{{end}}</code>

Pour relever ce défi, nous pouvons utiliser la fonction de modèle global prédéfinie, index. Cette fonction nous permet d'indexer le premier argument avec les arguments suivants, de la même manière que fonctionne l'indexation dans Go.

<code class="go">index x 1 2 3</code>

est équivalent à :

<code class="go">x[1][2][3]</code>

Cependant, dans le bloc range, le point a été réaffecté. Pour revenir au point d'origine, nous utilisons la fonctionnalité de modèle intégrée qui définit initialement $ sur l'argument data transmis à Execute. Par conséquent, nous pouvons modifier notre code :

<code class="go">{{range $i, $e := .First}}{{$e}} - {{index $.Second $i}}{{end}}</code>

Comme alternative à cela, il peut être plus propre de créer une fonction de modèle appelée zip qui transforme plusieurs tranches en une tranche de paires de valeurs.

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