Maison > développement back-end > Golang > le corps du texte

Comment puis-je accéder au dernier élément d'une tranche Go dans un modèle sans fonctions personnalisées ?

Mary-Kate Olsen
Libérer: 2024-11-19 11:01:03
original
543 Les gens l'ont consulté

How Can I Access the Last Element of a Go Slice in a Template Without Custom Functions?

Récupération du dernier élément d'une tranche dans un modèle Go

Question :

Dans un modèle Go, il est possible d'obtenir la taille d'une tranche en utilisant len ​​.Things et de l'indexer en utilisant index .Things 4. Cependant, essayer d'indexer le dernier élément à l'aide de index .Things $size donne une erreur car l'indexation est de base zéro. Existe-t-il une solution arithmétique sans recourir à des définitions de fonctions personnalisées ?

Réponse :

Bien que les modèles Go n'offrent pas d'opérations arithmétiques de manière native, vous pouvez étendre leurs fonctionnalités à l'aide d'un FuncMap. Voici comment ajouter une fonction « ajouter » :

t := template.Must(template.New("").Funcs(template.FuncMap{
    "add": func(a, b int) int { return a + b },
}).Parse(theTemplate)
Copier après la connexion

Cette fonction prend deux entiers et renvoie leur somme. Dans le modèle, il peut être utilisé comme suit :

{{index .Things (add $size -1)}}
Copier après la connexion

Cela renverra l'élément à l'index $size - 1, obtenant ainsi le dernier élément de la tranche.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal