Функция maps.Collect
Функция maps.Collect собирает все элементы карты
(map) в срез значений, отсортированных по ключам.
Она принимает один параметр — исходную карту,
возвращает срез значений, упорядоченных по возрастанию ключей.
Карта должна иметь сопоставимые типы ключей,
а значения могут быть любого типа.
Синтаксис
maps.Collect(m)
Пример
Давайте создадим карту с ключами-строками и соберем ее значения в срез:
package main
import (
"fmt"
"maps"
)
func main() {
m := map[string]int{
"b": 2,
"a": 1,
"c": 3,
}
res := maps.Collect(m)
fmt.Println(res)
}
Результат выполнения кода:
[1 2 3]
Обратите внимание: значения отсортированы по ключам, несмотря на порядок объявления карты.
Пример
Рассмотрим пример с картой, где ключи являются числами, а значения — строками:
package main
import (
"fmt"
"maps"
)
func main() {
m := map[int]string{
3: "c",
1: "a",
2: "b",
}
res := maps.Collect(m)
fmt.Println(res)
}
Результат выполнения кода:
[a b c]
Ключи 1, 2, 3 упорядочиваются по возрастанию, поэтому значения выводятся в соответствующем порядке.
Пример
Если карта пуста, функция возвращает пустой срез:
package main
import (
"fmt"
"maps"
)
func main() {
m := map[string]int{}
res := maps.Collect(m)
fmt.Println(res)
}
Результат выполнения кода:
[]
Смотрите также
-
функцию
maps.Keys,
которая возвращает срез ключей карты -
функцию
maps.Values,
которая возвращает срез значений карты -
функцию
maps.Clone,
которая создает копию карты -
функцию
maps.Equal,
которая сравнивает две карты на равенство