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++ }
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++ }
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!