Maison >développement back-end >Golang >Comment puis-je mapper efficacement des tableaux d'objets dans Go ?

Comment puis-je mapper efficacement des tableaux d'objets dans Go ?

DDD
DDDoriginal
2024-12-24 20:30:15325parcourir

How Can I Efficiently Map Arrays of Objects in Go?

Mappage de tableaux d'objets dans Go

Notant la prévalence du mappage de tableaux dans Node.js à l'aide de la méthode Array.map(), un le développeur cherche une solution équivalente dans Go. Bien que Go ne dispose pas d'une fonction de mappage direct pour les tableaux, il existe des approches alternatives qui peuvent obtenir des fonctionnalités similaires.

Solution One-Liner

La réponse fournie introduit un niveau supérieur fonction appelée Map(). Cette fonction accepte deux paramètres de type génériques, T et U, et une tranche de type T comme arguments. Il utilise une boucle de plage pour appliquer une fonction fournie par l'utilisateur à chaque élément de la tranche et renvoie une nouvelle tranche de type U avec les valeurs transformées.

Pour utiliser la fonction Map(), vous pouvez définir une fonction qui transforme le champ souhaité de votre objet et le transmet comme deuxième argument à Map(). Par exemple, étant donné une liste de tableaux d'objets avec un champ de fruits, vous pouvez créer un tableau de chaînes de fruits en utilisant :

fruits := Map(list, func(el T) U { return el.fruit })

Approche alternative

La réponse est également mentionne que même si les tableaux ne conviennent pas à cette fin en raison de leur nature rigide, des tranches, qui sont des tableaux de taille dynamique, peuvent être utilisées à la place. Vous pouvez parcourir une tranche à l'aide d'une boucle de plage pour transformer chaque élément manuellement.

Conclusion

La fonction Map() offre une approche générique pour mapper des tableaux d'objets dans Allez-y, permettant une solution concise sur une seule ligne. Cependant, les considérations de performances et le potentiel de coûts cachés ou d'erreurs doivent être pris en compte lors de l'utilisation de cette approche.

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!

Déclaration:
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