Maison > développement back-end > Golang > Comment puis-je mapper élégamment un tableau d'objets à un nouveau tableau en Go à l'aide d'un One-Liner ?

Comment puis-je mapper élégamment un tableau d'objets à un nouveau tableau en Go à l'aide d'un One-Liner ?

DDD
Libérer: 2024-12-26 18:34:10
original
616 Les gens l'ont consulté

How Can I Elegantly Map an Array of Objects to a New Array in Go Using a One-Liner?

Mappage d'un tableau d'objets dans Go : exploration d'une solution éloquente

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
}
Copier après la connexion

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 })
Copier après la connexion

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal