Карта (map) - это неупорядоченная группа элементов одного типа, называемая типом элемента (element type), индексируемая набором уникальных ключей другого типа, называемого типом ключа (key type). Значение не инициализированной карты равно nil.
MapType = "map" "[" KeyType "]" ElementType .
KeyType = Type .
Операторы сравнения == и != должны быть полностью определены для операндов типа ключа; таким образом, тип ключа не должен быть функцией, картой или срезом (slice). Если тип ключа является типом интерфейса, эти операторы сравнения должны быть определены для значений динамического ключа; сбой вызовет панику во время выполнения (run-time panic).
map[string]int
map[*T]struct{ x, y float64 }
map[string]interface{}
Количество элементов карты называется его длиной. Для карты m длину можно обнаружить с помощью встроенной функции len, и она может измениться во время выполнения (run-time). Элементы могут быть добавлены во время выполнения с использованием назначений и извлечены с помощью индексных выражений; они могут быть удалены с помощью встроенной функции delete.
Новое пустое значение карты создается с помощью встроенной функции make, которая принимает тип карты и необязательный указатель емкости в качестве аргументов:
make(map[string]int)
make(map[string]int, 100)
Начальная емкость не ограничивает ее размер: карты растут в соответствии с количеством элементов, хранящихся в них, за исключением нулевых карт (nil maps). Нулевая карта эквивалентна пустой карте, за исключением того, что никакие элементы не могут быть добавлены.
Читайте также:
Комментариев нет:
Отправить комментарий