Maison >développement back-end >Golang >Comment parcourir des tableaux parallèles dans HTML/Modèle à l'aide de la fonction « index » ?
De nombreux scénarios de développement impliquent de travailler avec des tableaux parallèles, où deux tableaux ou plus ont la même taille et leurs éléments doivent être accessibles de manière synchronisée. Comprendre comment parcourir ces tableaux parallèles devient crucial dans de telles situations.
Question :
Comment l'index dans un bloc de plage peut-il être utilisé pour parcourir des tableaux parallèles en HTML /Modèle ?
Tentative échouée :
Ce code ne parvient pas à obtenir le résultat souhaité :
{{range $i, $e := .First}}$e - {{index .Second $i}}{{end}}
Solution :
La clé du succès ici est d'exploiter la fonction d'index, une fonction de modèle global prédéfinie en HTML/Template. Il permet l'indexation du premier argument par les arguments suivants.
index Returns the result of indexing its first argument by the following arguments. Thus index x 1 2 3 is, in Go syntax, x[1][2][3]. Each indexed item must be a map, slice, or array.
Le code initial échoue car il ne tient pas compte de la réaffectation du point dans le bloc de plage. Pour accéder au point d'origine, nous pouvons utiliser une autre fonction de modèle prédéfinie :
When execution begins, $ is set to the data argument passed to Execute, that is, to the starting value of dot.
Une version améliorée du code devient :
{{range $i, $e := .First}}$e - {{index $.Second $i}}{{end}}
Approche alternative :
Envisagez une approche plus propre en définissant une fonction de modèle personnalisée appelée zip. Cette fonction prend plusieurs tranches en entrée et génère une tranche de paires, une pour chaque élément correspondant dans les tranches d'entrée. Il peut ensuite être utilisé dans le modèle pour simplifier le processus d'itération.
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!