Maison >développement back-end >Golang >Comment parcourir plusieurs tableaux simultanément dans les modèles Go ?
Modèles Go : itération simultanée sur plusieurs tableaux
Lorsque vous travaillez sur un projet, vous pouvez rencontrer le besoin d'itérer simultanément sur plusieurs tableaux dans Allez les modèles. Cette situation se produit lorsque vous avez des structures de données comme celles ci-dessous et que vous exigez que chaque élément de ces tableaux soit regroupé dans une sortie.
type Schedule struct { Description string ControlNights int PlayNights int StartDay int Combos []Combo } type Combo struct { From time.Time Every int Until time.Time Sounds []string Volumes []int Waits []int }
Itération sur des combos
Pour afficher les données de chaque combo individuellement, vous pouvez utiliser une boucle de plage itérant sur le tableau Schedule.Combos. Cela parcourra chaque combo. Cependant, cela est insuffisant pour afficher les données dont vous avez besoin.
Combiner des tableaux en lignes
Pour regrouper les données de différents tableaux en lignes, où chaque ligne contient des données de sons , Volumes et Waits, vous pouvez utiliser des modèles dynamiques. Cette technique vous permet de manipuler et de modifier les données dans le modèle lui-même.
Modèles dynamiques pour le regroupement
Considérez le modèle suivant :
{{ range .Schedule.Combos }} <div class="container"> <div class="row"> <div class="col"> <div class="card mt-2 ml-2"> <div class="card-body"> <h5 class="card-title"><strong>Timing</strong></h5> <h5 class="card-text">Play every {{.Every}} mins</h5> <h5 class="card-text">From time {{TimeOfDayToString .From}}</h5> <h5 class="card-text">Until {{TimeOfDayToString .Until}}</h5> </div> </div> </div> <div class="col"> <div class="card mt-2"> <div class="card-body"> <h5 class="card-title"><strong>Sounds</strong></h5> {{ range .Sounds }} <h5 class="card-text">Sound {{.}}</h5> {{ end }} </div> </div> </div>
Pour regrouper les sons, les volumes et les attentes, vous pouvez créer une nouvelle variable de modèle qui combine les trois. tableaux.
{{ $mergedArrays := .Sounds, .Volumes, .Waits }}
Itération sur des tableaux combinés
Avec les tableaux combinés disponibles, vous pouvez les parcourir à l'aide d'une boucle imbriquée :
{{ range $index, $mergedArray := $mergedArrays }} {{ $sound := $mergedArray[0] }} {{ $volume := $mergedArray[1] }} {{ $wait := $mergedArray[2] }} <li>{{ $sound }} - {{ $volume }} - {{ $wait }}</li> {{ end }}
Dans cette boucle imbriquée, vous accédez aux éléments individuels du tableau combiné et les affichez de manière appropriée.
Ceci Cette approche vous permet de regrouper les données des tableaux Sounds, Volumes et Waits dans les lignes souhaitées.
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!