Junior — Middle
Lze dosáhnout rychlejší iterace přes seznam ve srovnání s Map v programovacích jazycích?
sobes.tech AI
Odpověď od AI
Ano, iterace přes slice v Go je obvykle rychlejší než přes Mapu, protože slice je sekvenční pole prvků, zatímco Map je hashovací tabulka s složitější strukturou.
Iterace přes slice probíhá sekvenčně v paměti, což je dobře cacheováno procesorem, zatímco Map vyžaduje výpočty hashů a může mít libovolný pořadí průchodu.
Příklad iterace přes slice:
slice := []int{1, 2, 3, 4, 5}
for _, v := range slice {
fmt.Println(v)
}
Iterace přes Mapu:
m := map[string]int{"a":1, "b":2}
for k, v := range m {
fmt.Println(k, v)
}
Pokud je důležitá rychlost průchodu a pořadí, je lepší používat slices.