Maison >développement back-end >Golang >Quel est le moyen le plus efficace de récupérer des clés de carte dans Go ?

Quel est le moyen le plus efficace de récupérer des clés de carte dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-30 20:42:15280parcourir

What's the Most Efficient Way to Retrieve Map Keys in Go?

Récupération efficace des clés de carte dans Go

Lorsque parcourir une carte dans Go et copier ses clés dans une tranche est une méthode courante pour récupération de clé, il existe des approches plus efficaces.

Original Approche :

i := 0
keys := make([]int, len(mymap))
for k := range mymap {
    keys[i] = k
    i++
}

Approches améliorées :

1. Définition de la capacité :

En définissant la capacité de la tranche de clés en fonction de la longueur de la carte, cela peut éliminer le besoin de réallocations pendant le processus d'ajout.

keys := make([]int, 0, len(mymap))
for k := range mymap {
    keys = append(keys, k)
}

2. Affectation directe :

Étant donné que le nombre de clés est connu, l'affectation directe peut être utilisée au lieu de l'ajout, ce qui entraîne une exécution plus rapide.

keys := make([]int, len(mymap))

i := 0
for k := range mymap {
    keys[i] = k
    i++
}

Comparaison des performances :

L'approche d'affectation directe fournit la récupération de clé la plus efficace, surpassant les autres méthodes dans les tests de vitesse impliquant des cartes avec un grand nombre de clés.

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