Accéder au dernier élément d'une tranche dans les modèles Go
Récupérer le dernier élément d'une tranche dans un modèle Go peut être difficile en raison de l'indexation de base zéro utilisée dans les modèles. Bien qu'il soit simple d'obtenir la taille de la tranche et d'indexer les éléments individuels, référencer le dernier élément en utilisant uniquement la taille entraîne une erreur « hors plage ».
Utilisation de FuncMaps pour les opérations arithmétiques
Pour surmonter cette limitation sans recourir à des définitions de fonctions personnalisées, on peut utiliser FuncMaps pour introduire des fonctions personnalisées dans le processus de rendu des modèles. Par exemple, une fonction "ajouter" peut être définie comme suit :
t := template.Must(template.New("").Funcs(template.FuncMap{ "add": func(a, b int) int { return a + b }, }).Parse(theTemplate)
Utilisation de la fonction personnalisée
Avec la fonction "ajouter" disponible dans la FuncMap, vous pouvez accéder au dernier élément de la tranche comme ceci :
{{index .Things (add $size -1)}}
Cette expression soustrait effectivement un de la taille de la tranche, vous permettant d'indexer le dernier élément sans déclencher une erreur hors plage.
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!