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!