Как на самом деле устроен тип Map в Golang? | Golang под капотом
В этом видео мы в деталях разберемся, как устроен тип Map в Go и сможем ответить на некоторые очень интересные вопросы:
- зачем заранее аллоцировать память под мапы?
- почему порядок их обхода случайный?
- почему нельзя взять ссылку на элемент мапы?
- и др.
----
❤️ Если у вас есть желание поддержать развитие канала:
- 👾 Мой канал в Telegram:
- 🗣 Чат в Telegram: zsSZ63wEJDs3NGVi
- 👀 Golang Digest: - мои регулярные подборки интересных материалов по Go.
----
Видео про Хэш-таблицы:
Видео про дженерики:
Видео про Slice:
----
Исходный код Map в официальном репозитории Go:
Тайм-коды
00:00 Вступление
00:24 Что такое Map?
00:55 Простая реализация - перебор
01:56 Как сделать лучше - разбиваем на бакеты
03:21 Хэш-функция - равномерное распределение по бакетам
05:08 Как реализовать Map без дженериков?
08:20 v = m[k]: во что на самом деле это скомпилируется?
09:25 Все преобразования операций с Map
10:27 Внутренняя структура Map
11:33 Low order bits (LOB) - выбор бакета
13:39 Структура бакета
15:31 Исходный код заголовка Map (hmap)
16:05 Исходный код поиска значения в Map (mapaccess1)
23:30 Переполнение бакета
24:47 Рост Map при заполнении
27:05 Эвакуация данных
28:02 Как избежать эвакуацию данных и ускорить программу - аллокация памяти
28:39 Почему нельзя взять указатель на элемент Map
29:26 Или можно..?
30:12 Порядох обхода мапы - почему он случайный?
31:47 Вывод функции () - почему он фиксированный?
33:14 Подводим итоги
33:45 Заключение
#golang #go #tuzov
1 view
1260
517
16 hours ago 00:09:50 1
«Илья Муромец». Россия построила самый мощный судовой реактор в мире
16 hours ago 00:05:48 0
В России построят Мега тюрьму вместо базы Газпрома | Побег из нее не возможен
1 day ago 00:33:19 1
Что такое регистрация (REGIS) , как создать свою юрисдикцию, вернуть трасты, создать свой траст.
1 day ago 00:05:59 1
Россия и США разделят сферы влияния — депутат Госдумы Евгений Фёдоров
1 day ago 00:43:11 2
Славянские божества: от Мары до русалок / [История по Чёрному]
1 day ago 00:06:56 8
Как избавится от грибка на ногах ,дешёвый и эффективный способ для ленивых
1 day ago 00:58:30 3
«Тихая жизнь»: Наум Клейман, Юрий Норштейн, Татьяна Черниговская #солодников
1 day ago 00:53:44 0
“Красивые люди“ документальный сериал с Максом и Эллен Шупбах. 21 серия. Инна #mamakifilm
1 day ago 00:11:54 0
Продолжение ара-вранья: средневековье. «Истерики древнего мира»
2 days ago 00:26:02 0
ВОЗНЕСЕНИЕ. Фильм митрополита Илариона. Цикл “Церковные праздники“
2 days ago 00:15:06 1
Прямо Сейчас Возле Солнца Замечен Гигантский НЛО в 10 раз больше Земли. Корабль Шумеров Вернулся?
2 days ago 00:00:12 3
122
2 days ago 00:18:18 2
Как научиться играть на гитаре за 7 ДНЕЙ? СЕКРЕТНЫЙ СПОСОБ
2 days ago 00:19:58 4
Используй ТОЛЬКО ЭТИ ПАЛЬЦЫ! Как ПРАВИЛЬНО играть аккорды на гитаре
2 days ago 00:20:26 1
Победа Генералиссимуса близка
2 days ago 00:07:57 0
“Заблудившийся трамвай“ Николай Гумилев.
2 days ago 00:03:21 0
Обновлённый УАЗ-3303 2025: легендарный «Головастик» возвращается в новом качестве
2 days ago 00:28:49 0
«КАЛЕНДАРЬ», короткометражный фильм, режиссер Игорь Поплаухин (eng sub)
2 days ago 00:59:38 0
Просветленный старец предупредил о Трёх Днях Тьмы и изменениях поля Земли! Лев Клыков
2 days ago 00:05:24 1
♪ ♫ «Я на любовь любовью отвечаю» | Марк Прокопчук
2 days ago 00:00:00 0
Арт- терапия и практика Арт-дневник как способ саморефлексии
2 days ago 00:02:23 0
Поджарьте творог на сковороде, и Вы будете в Шоке от результата! ВОСТОЧНАЯ КУХНЯ!
2 days ago 00:08:49 1
✅ СИГНАЛЫ MINES 1WIN | ЭТО ЛУЧШАЯ СТРАТЕГИЯ В МИНЫ 1ВИН | НОВАЯ ТАКТИКА В 1WIN MINES