Dans votre application Web Go, vous devez afficher une ligne HTML spécifique plusieurs fois, en fonction de la valeur de n .
Voici une façon d'aborder cela :
Dans les modèles HTML, l'action {{range}} vous permet d'itérer sur les articles. Cependant, cette action nécessite une tranche, un tableau ou une carte avec laquelle travailler.
Pour répondre à cette exigence, vous pouvez transmettre une tranche vide sans mémoire allouée, telle que make([]struct{}, n).
Modèle Code :
<ul> {{range $idx, $e := .}} <li><a href="/?page={{$idx}}">{{$idx}}</a></li> {{end}} </ul>
Test du code :
tmpl := template.Must(template.New("").Parse(templ)) n := 5 if err := tmpl.Execute(os.Stdout, make([]struct{}, n)); err != nil { panic(err) }
Sortie :
<ul> <li><a href="/?page=0">0</a></li> <li><a href="/?page=1">1</a></li> <li><a href="/?page=2">2</a></li> <li><a href="/?page=3">3</a></li> <li><a href="/?page=4">4</a></li> </ul>
Pour personnaliser l'index de départ des liens, vous pouvez remplir la tranche avec des valeurs spécifiques.
Code du modèle :
<ul> {{range .}} <li><a href="/?page={{.}}">{{.}}</a></li> {{end}} </ul>
Exemple de test Code :
tmpl := template.Must(template.New("").Parse(templ)) n := 5 values := make([]int, n) for i := range values { values[i] = (i + 1) * 2 } if err := tmpl.Execute(os.Stdout, values); err != nil { panic(err) }
Sortie :
<ul> <li><a href="/?page=2">2</a></li> <li><a href="/?page=4">4</a></li> <li><a href="/?page=6">6</a></li> <li><a href="/?page=8">8</a></li> <li><a href="/?page=10">10</a></li> </ul>
Enfin , vous pouvez utiliser une fonction personnalisée dans les modèles pour modifier les valeurs d'index comme nécessaire.
Code du modèle :
<ul> {{range $idx, $e := .}}{{$idx := (Add $idx)}} <li><a href="/?page={{$idx}}">{{$idx}}</a></li> {{end}} </ul>
Fonction personnalisée :
func Add(i int) int { return i + 1 }
Sortie :
<ul> <li><a href="/?page=1">1</a></li> <li><a href="/?page=2">2</a></li> <li><a href="/?page=3">3</a></li> <li><a href="/?page=4">4</a></li> <li><a href="/?page=5">5</a></li> </ul>
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!