Maison > développement back-end > Golang > Comment puis-je récupérer efficacement toutes les clés d'une Go Map sous forme de tranche ?

Comment puis-je récupérer efficacement toutes les clés d'une Go Map sous forme de tranche ?

Linda Hamilton
Libérer: 2024-12-16 20:49:15
original
371 Les gens l'ont consulté

How Can I Efficiently Retrieve All Keys from a Go Map as a Slice?

Récupération efficace des tranches de clés à partir de Go Maps

Dans Go, récupérer une tranche de clés à partir d'une carte peut sembler un processus simple, mais il y a place à l'optimisation. Considérez le scénario suivant :

i := 0
keys := make([]int, len(mymap))
for k := range mymap {
    keys[i] = k
    i++
}
Copier après la connexion

Ce code parcourt la carte, copiant chaque clé dans les clés de tranche. Cependant, il existe un moyen plus concis et efficace d'obtenir le même résultat :

keys := make([]int, len(mymap))
i := 0
for k := range mymap {
    keys[i] = k
    i++
}
Copier après la connexion

En pré-attribuant la tranche avec la bonne taille, nous éliminons les réallocations inutiles lors de l'itération. De plus, nous pouvons éliminer l’opération d’ajout en attribuant directement des valeurs aux membres du tableau. Cela améliore non seulement la lisibilité du code, mais également les performances, comme le montrent les tests impliquant de grandes cartes avec des clés aléatoires.

Dans la plupart des cas, la différence de performances peut être négligeable. Cependant, lorsque vous travaillez avec de grands ensembles de données, ces optimisations peuvent entraîner des gains d'efficacité significatifs.

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