Назад к вопросам
СБЕР
Middle
2
Что выведет программа с итерацией по map?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Go порядок итерации по map не определён и может меняться при каждом запуске программы. Это связано с тем, что map в Go реализованы с использованием хеш-таблиц, и для безопасности и непредсказуемости порядок обхода специально рандомизируется.
Пример:
package main
import "fmt"
func main() {
m := map[string]int{"a": 1, "b": 2, "c": 3}
for k, v := range m {
fmt.Println(k, v)
}
}
При каждом запуске вывод может быть разным, например:
b 2
a 1
c 3
или
c 3
b 2
a 1
Если нужен упорядоченный вывод, нужно отдельно собрать ключи в срез, отсортировать его и итерироваться по отсортированным ключам.