Назад к вопросам
МТС Digital
Junior — Middle
79
Каким образом можно извлечь отсортированные по идентификатору значения из хэш-таблицы?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Go хэш-таблица реализуется с помощью типа map, который не гарантирует порядок элементов при итерации. Чтобы получить значения, отсортированные по ключу (например, идентификатору), нужно:
- Извлечь все ключи из карты в срез.
- Отсортировать срез ключей с помощью функции
sort. - Пройтись по отсортированным ключам и получить соответствующие значения из карты.
Пример:
package main
import (
"fmt"
"sort"
)
func main() {
data := map[int]string{
3: "three",
1: "one",
2: "two",
}
// Извлекаем ключи
keys := make([]int, 0, len(data))
for k := range data {
keys = append(keys, k)
}
// Сортируем ключи
sort.Ints(keys)
// Проходим по отсортированным ключам
for _, k := range keys {
fmt.Printf("%d: %s\n", k, data[k])
}
}
Так вы получите значения, отсортированные по идентификатору (ключу).