Dans Go, mapper un tableau d'objets dans un nouveau tableau nécessite une approche élégante qui correspond à la flexibilité et la simplicité d'opérations similaires dans d'autres langues. Les tableaux dans Go sont immuables, contrairement à Node.js, où la fonction map peut être utilisée pour transformer chaque élément.
À la recherche d'une solution unique :
Le question cherche une solution élégante sur une seule ligne pour mapper un tableau d'objets dans un tableau de leurs fruits correspondants, imitant le comportement de la fonction map de JavaScript. Bien qu'une boucle de plage soit une option, une solution sur une seule ligne est préférable.
Présentation de la fonction Map :
Bien que Go n'ait pas de méthode Map intégrée pour les tableaux , il permet la création de fonctions génériques de premier niveau. La fonction Map sert à cet effet, en acceptant une tranche d'éléments et une fonction qui transforme chaque élément en un résultat souhaité.
func Map[T, U any](ts []T, f func(T) U) []U { us := make([]U, len(ts)) for i := range ts { us[i] = f(ts[i]) } return us }
Application de la fonction Map :
À l’aide de la fonction Map, la one-liner souhaitée peut être écrite sous la forme suit :
fruits := Map(list, func(el Element) string { return el.Fruit })
Conclusion :
La fonction Map fournit un moyen élégant et efficace de mapper un tableau d'objets dans un nouveau tableau de valeurs transformées. Bien que les tableaux de Go n'offrent pas la même flexibilité que dans d'autres langages, les fonctions génériques de haut niveau comme Map permettent des solutions expressives et idiomatiques aux tâches de transformation de données.
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!