Продвинутые дженерики в новых версиях Go | Подготовка к собеседованию
Материалы из видео - https://t.me/igoroutine/73
Курсы по программированию - https://igoroutine.courses/?utm_sourc...
В этом видео подробно разбираем продвинутые дженерики в Go и готовимся к собеседованию. Начнём со структур: как их создавать, писать конструкторы, какие есть ограничения и как работают методы со значением и ссылкой (method receiver). Затем перейдём к интерфейсам — по значению и по ссылке, разберём преобразование одного интерфейса в другой, устройство интерфейса File, ошибки при композиции (встраивании) и внутреннюю реализацию интерфейсов в Go. Далее обсудим generic интерфейсы: мотивацию, underlying типы, ограничения реализации, типы с методами, использование в переменных и реальные примеры применения. После этого рассмотрим мапы — создание, особенности ключей, вставку, удаление, очистку и копирование, а также покажем, как на их основе реализовать Set. В практической части разберём, как generics применяются в реальных задачах, особенности контекста параметризации, generic wrapper (обёртку над any), влияние generics на память и производительность, а в завершение познакомимся с итераторами push/pull и их ролью в современных Go-программах. Telegram: https://t.me/igoroutine
VK: https://vk.com/igoroutine
Instagram: / igoroutine YouTube: / @igoroutine Таймкоды: 00:00:00 - Введение 00:00:13 - Структуры. Как создать структуру 00:01:10 - Структуры. Конструктор структуры 00:03:52 - Структуры. Ограничения у структур 00:05:21 - Структуры. Методы структур 00:07:40 - Структуры. Method receiver, особенности 00:14:52 - Интерфейсы. По значению 00:17:20 - Интерфейсы. По ссылке, особенности 00:23:07 - Интерфейсы. Преобразование одного интерфейса в другой (касты) 00:26:44 - Интерфейсы. Разбор интерфейса File 00:27:16 - Интерфейсы. Как нельзя объявлять интерфейсы 00:28:19 - Интерфейсы. Пустой интерфейс (any) 00:32:10 - Интерфейсы. Композиция (встраивание) интерфейсов 00:32:46 - Интерфейсы. Ошибки композиции (встраивания) интерфейсов 00:33:21 - Интерфейсы. Внутреннее устройство 00:38:19 - Generic интерфейсы. Мотивация 00:42:24 - Generic интерфейсы. Underlying тип 00:43:22 - Generic интерфейсы. Float интерфейс 00:44:05 - Generic интерфейсы. Ограничения реализации 00:47:54 - Generic интерфейсы. Тип с методами 00:51:40 - Generic интерфейсы. Использование в переменных 00:52:18 - Generic интерфейсы. Когда тип реализует интерфейсу 00:53:22 - Generic интерфейсы. Пример реального использования 00:55:22 - Мапы. Создание 00:56:00 - Мапы. Особенности ключей мапы 00:58:19 - Мапы. Как вставлять в мапу 00:58:38 - Мапы. Как получать значение из мапы 01:01:14 - Мапы. Как удалять значение из мапы 01:02:12 - Мапы. Как получать количество элементов и очистить мапу 01:02:23 - Мапы. Итерация по элементам мапы 01:03:03 - Мапы. Как копировать мапы 01:03:42 - Мапы. Как написать Set на мапе 01:04:19 - Использование generics на практике 01:08:07 - Задачка на generics. Особенность контекста параметризации 01:11:05 - Дополнительный материал 01:11:16 - За сколько работают generics по памяти 01:16:37 - Generic wrapper (обёртка над any) 01:18:28 - Итераторы. Краткий обзор. Push/Pull итераторы 01:27:11 - Финал