2017-10-14 9 views
-1

Lorsque vous parcourez un tableau, deux valeurs sont renvoyées pour chaque itération. Le premier est l'index, et le second est copie de l'élément à cet index.performances de pour range in go

Voici mon code:

var myArray = [5]int {1,2,3,4,5} 
sum := 0 
// first with copy 
for _, value := range myArray { 
    sum += value 
} 
// second without copy 
for i := range myArray { 
    sum += myArray[i] 
} 

Lequel dois-je utiliser pour une meilleure performance?

Y at-il une différence pour les types intégrés dans ces deux morceaux de code?

+0

La réponse à "ce qui est meilleur pour la performance" est _always_: Exécuter un benchmark et voir. Les résultats varient souvent entre les applications, les versions d'exécution et, dans certains cas, le système d'exploitation ou le matériel que vous utilisez. – Flimzy

Répondre

0

le second est plus rapide, mais la différence est trop faible que vous pouvez ignorer

la principale différence est quand vous avez une grande boucle de taille. dans ce cas la première boucle prend plus de mémoire que la seconde