Back to questions
Junior — Middle
77
Можно ли добиться более быстрой итерирования по слайсу по сравнению с Map в языках программирования?
Answer from AI
sobes.tech AI
Да, итерирование по слайсу в Go обычно быстрее, чем итерирование по Map, потому что слайс — это последовательный массив элементов, а Map — хеш-таблица с более сложной структурой.
Итерирование по слайсу происходит последовательно в памяти, что хорошо кэшируется процессором, тогда как Map требует вычисления хешей и может иметь произвольный порядок обхода.
Пример итерирования по слайсу:
slice := []int{1, 2, 3, 4, 5}
for _, v := range slice {
fmt.Println(v)
}
Итерирование по Map:
m := map[string]int{"a":1, "b":2}
for k, v := range m {
fmt.Println(k, v)
}
Таким образом, если важна скорость обхода и порядок, лучше использовать слайсы.