> For the complete documentation index, see [llms.txt](https://ru.gentee.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ru.gentee.org/stdlib/map.md).

# Ассоциативные массивы

Здесь описаны операторы и функции для работы с ассоциативными массивами **map**. Запись **map.typename** означает, что вы можете указать любой тип, но в случае бинарного оператора, этот тип должен быть одинаковым у обоих массивов.

* [bool( map.typename m ) bool](/stdlib/map.md#bool-map-typename-m-bool)
* [Del( map.typename m, str key ) map.typename](/stdlib/map.md#del-map-typename-m-str-key-map-typename)
* [IsKey( map.typename m, str key ) bool](/stdlib/map.md#iskey-map-typename-m-str-key-bool)
* [Key( map.typename m, int index ) str](/stdlib/map.md#key-map-typename-m-int-index-str)

## Операторы

| Оператор                         | Результат    | Описание                                                                                      |
| -------------------------------- | ------------ | --------------------------------------------------------------------------------------------- |
| **\*** map.typename              | int          | Возвращает количество элементов в массиве.                                                    |
| map.typename **?**               | bool         | Вызов *bool(map.typename)*.                                                                   |
| map.typename **=** map.typename  | map.typename | Присваивание.                                                                                 |
| map.typename **&=** map.typename | map.typename | Создать клон ассоциативного массива. Новая переменная будет работать с тем же набором данных. |
| map.typename **\[** str **]**    | typename     | Присвоить/получить значение ассоциативного массива по ключу.                                  |

## Функции

### bool(map.typename m) bool

Функция *bool* возвращает *false*, если ассоциативный массив пустой. В противном случае, возвращается *true*.

### Del( map.typename m, str key ) map.typename

Функция *Del* удалять указанный ключ и его значение из массива *map*. Возвращается параметр *m*.

### IsKey( map.typename m, str key ) bool

Функция *IsKey* возвращает *true*, если в ассоциативном массиве *m* существует значение с указанным ключом и *false*, в противном случае.

### Key( map.typename m, int index ) str

Функция *Key* возвращает ключ элемента по его индексу. Например, эта функция может быть использована в цикле *for* для получения ключа элемента.

```go
for val,i in mymap {
    Println("\(Key(mymap, i)):\(val)")
}
```
