Итерация по map в Go намеренно даёт элементы в случайном порядке. Это сделано специально — при запуске for k, v := range myMap рантайм выбирает случайный стартовый бакет и случайное смещение внутри бакета. Каждый запуск range по одной и той же map даёт разный порядок. Зачем? Чтобы разработчики не полагались на порядок итерации, который является деталью реализации и может измениться. Если нужен стабильный порядок — собери ключи в слайс, отсортируй и итерируй по нему.
Как работает map iterator randomization?
Middle
568 просмотровAFK Offer AI
Что такое API versioning?