Maison >développement back-end >Golang >Comment accéder au dernier élément d'une tranche Go dans un modèle sans erreur « Hors de portée » ?
Question :
Récupération de la taille d'une tranche dans un Go le modèle est simple en utilisant len. Les valeurs d'index peuvent également être récupérées, mais l'indexation est de base zéro, ce qui entraîne une erreur « hors plage » lors de la tentative d'accès au dernier élément. Comment pouvez-vous obtenir le dernier élément en effectuant des opérations arithmétiques dans le modèle ?
Réponse :
Bien que les modèles Go ne fournissent pas d'opérations arithmétiques intégrées, vous pouvez utiliser un FuncMap pour ajouter des fonctions personnalisées. Voici comment définir une fonction "ajouter" :
import "html/template" func add(a, b int) int { return a + b }
Pour intégrer la fonction "ajouter" dans votre modèle, utilisez la syntaxe suivante :
t := template.Must(template.New("").Funcs(template.FuncMap{ "add": func(a, b int) int { return a + b }, }).Parse(theTemplate)
Maintenant, vous pouvez accéder au dernier élément d'un modèle comme celui-ci :
{{index .Things (add $size -1)}}
Cela renverra correctement le dernier élément de la tranche sans déclencher l'erreur "hors plage". La fonction "ajouter" peut également gérer d'autres scénarios où des opérations arithmétiques sont requises.
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!