Sobes.tech
Назад к вопросам
Junior — Middle
82

Обеспечивает ли структура данных Map гарантированное сохранение порядка вставки элементов?

Ответ от нейросети

sobes.tech AI

В языке Go структура данных map не гарантирует сохранение порядка вставки элементов. Итерация по map происходит в случайном порядке, который может меняться при каждом обходе.

Если требуется сохранить порядок вставки, нужно использовать дополнительную структуру данных, например, срез (slice) для хранения ключей в нужном порядке, или использовать сторонние библиотеки, реализующие упорядоченные словари.

Пример обхода map с сохранением порядка ключей:

package main

import "fmt"

func main() {
    m := map[string]int{"a": 1, "b": 2, "c": 3}
    keys := []string{"a", "b", "c"} // порядок вставки

    for _, k := range keys {
        fmt.Println(k, m[k])
    }
}