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)
Cette fonction prend deux entiers et renvoie leur somme. Dans le modèle, il peut être utilisé comme suit :
{{index .Things (add $size -1)}}
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!