HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Карты (map) - это встроенный тип данных в Go для хранения пар "ключ-значение". Они позволяют быстро находить, добавлять и удалять данные по ключу. Карты используются везде, где нужен ассоциативный массив или словарь.</p>
1 <p>Карты (map) - это встроенный тип данных в Go для хранения пар "ключ-значение". Они позволяют быстро находить, добавлять и удалять данные по ключу. Карты используются везде, где нужен ассоциативный массив или словарь.</p>
2 <h2>Определение карты</h2>
2 <h2>Определение карты</h2>
3 <p>Карту можно объявить без инициализации:</p>
3 <p>Карту можно объявить без инициализации:</p>
4 <p>Здесь map[string]int - это тип карты, где:</p>
4 <p>Здесь map[string]int - это тип карты, где:</p>
5 <ul><li><strong>Ключ</strong>имеет тип string.</li>
5 <ul><li><strong>Ключ</strong>имеет тип string.</li>
6 <li><strong>Значение</strong>имеет тип int.</li>
6 <li><strong>Значение</strong>имеет тип int.</li>
7 </ul><p>Ключами в Go могут быть любые типы данных, которые<strong>сравнимы</strong>(comparable). Это значит, что они могут использоваться в операциях == и !=. Это могут быть строки, числа, булевы значения, массивы фиксированной длины и структуры со сравниваемыми полями. Срезы, карты и функции не могут быть ключами, так как они не поддерживают сравнение.</p>
7 </ul><p>Ключами в Go могут быть любые типы данных, которые<strong>сравнимы</strong>(comparable). Это значит, что они могут использоваться в операциях == и !=. Это могут быть строки, числа, булевы значения, массивы фиксированной длины и структуры со сравниваемыми полями. Срезы, карты и функции не могут быть ключами, так как они не поддерживают сравнение.</p>
8 <h2>Создание карты</h2>
8 <h2>Создание карты</h2>
9 <p>При объявлении карта равна nil.</p>
9 <p>При объявлении карта равна nil.</p>
10 <p>Чтобы начать её использовать, необходимо явно выделить память с помощью make():</p>
10 <p>Чтобы начать её использовать, необходимо явно выделить память с помощью make():</p>
11 <p>Можно создать карту и сразу инициализировать её значениями через литерал:</p>
11 <p>Можно создать карту и сразу инициализировать её значениями через литерал:</p>
12 <h2>Обращение к элементам</h2>
12 <h2>Обращение к элементам</h2>
13 <p>Чтобы получить значение по ключу, используется синтаксис map[key]:</p>
13 <p>Чтобы получить значение по ключу, используется синтаксис map[key]:</p>
14 <p>Если обратиться к несуществующему ключу, будет возвращено значение по умолчанию для типа, например 0 для чисел или пустая строка для string:</p>
14 <p>Если обратиться к несуществующему ключу, будет возвращено значение по умолчанию для типа, например 0 для чисел или пустая строка для string:</p>
15 <h2>Проверка существования ключа</h2>
15 <h2>Проверка существования ключа</h2>
16 <p>Чтобы проверить, есть ли ключ в карте, используется "двойное присваивание":</p>
16 <p>Чтобы проверить, есть ли ключ в карте, используется "двойное присваивание":</p>
17 <p>Переменная exists будет true, если ключ найден, и false - если нет.</p>
17 <p>Переменная exists будет true, если ключ найден, и false - если нет.</p>
18 <h2>Удаление элемента</h2>
18 <h2>Удаление элемента</h2>
19 <p>Удалить элемент из карты можно с помощью встроенной функции delete():</p>
19 <p>Удалить элемент из карты можно с помощью встроенной функции delete():</p>
20 <p>Если ключа нет, delete() просто ничего не делает.</p>
20 <p>Если ключа нет, delete() просто ничего не делает.</p>
21 <h2>Размер карты</h2>
21 <h2>Размер карты</h2>
22 <p>Чтобы узнать количество элементов в карте, используется len():</p>
22 <p>Чтобы узнать количество элементов в карте, используется len():</p>
23  
23