Интерфейсы изнутри в Golang // курс «Golang Developer. Professional»

  Рет қаралды 7,457

OTUS IT Онлайн - образование

OTUS IT Онлайн - образование

Күн бұрын

На открытом уроке узнаем как устроены интерфейсы внутри и как их эффективно использовать, научимся пользоваться type assertion и type switch.
Открытый урок будет полезен начинающим Golang разработчикам и тем кто планирует переходить на GO имея опыт работы с другими языками.
«Golang Developer. Professional» - otus.pw/74ch/
Преподаватель: Алексей Семушкин - Software Engineer at Semrush
Пройдите опрос по итогам мероприятия - otus.pw/OHM4/
Следите за новостями проекта:
- Telegram: t.me/Otusjava
- ВКонтакте: otus.pw/850t
- LinkedIn: otus.pw/yQwQ/
- Хабр: otus.pw/S0nM/

Пікірлер: 6
@fuzzytoozy4395
@fuzzytoozy4395 8 ай бұрын
Массив длинной в единицу там это реализация variable length array. Нужно это чтобы элементы располагались в структуре последовательно. Если использовать вместо этого слайс то при итерации элементов придется постоянно прыгать по указателю, хранящемуся в слайсе, а потом еще по указателю на сам метод. С оптимизацией в виде variable length array мы добиваемся того, что убираем лишний прыжок по указателю (если бы использовали слайс или просто указатель) и позволяем первым 5 методам поместиться в кеш линию (64 байта на большинстве современных процессорах), 5 т-к первые 24 байта структуры itab заняты метаинформацией типов и хешем с паддингом, а один указатель занимает 8 байт на 64 битных системах. Интересный факт в го максимальное количество методов у интерфейса 65536
@alexandrshatilov8227
@alexandrshatilov8227 4 ай бұрын
Спасибо огромное! Самое полное и понятное объяснение, которое находил. Видно, что спикер понимает о чем говорит и говорит хорошо. Кстати, очень мило и интересно слушать размышления насчет поля fun [1] uintptr )
@yaraul1
@yaraul1 Жыл бұрын
10:00 Начало
@maratbaisultan6915
@maratbaisultan6915 Ай бұрын
чел мощный
@fpoduk
@fpoduk 10 ай бұрын
Последнее про каст интерфейсов, кажется некорректный пример. BaseStorage нельзя привести к SyncStorage. Можно только наоборот. Потому, что у BaseSotrage нет метода Sync()
GIANT Gummy Worm Pt.6 #shorts
00:46
Mr DegrEE
Рет қаралды 84 МЛН
Help Me Celebrate! 😍🙏
00:35
Alan Chikin Chow
Рет қаралды 13 МЛН
Spongebob ate Michael Jackson 😱 #meme #spongebob #gmod
00:14
Mr. LoLo
Рет қаралды 7 МЛН
Fake watermelon by Secret Vlog
00:16
Secret Vlog
Рет қаралды 16 МЛН
Iced vs Slint  | Rust GUI Wars #1
10:07
Creative Coders
Рет қаралды 9 М.
Как на самом деле устроены каналы в Golang? | Golang channels internals
41:31
«Юристы, учите русский язык!» | Интервью в СПбГЭУ
25:31
Гид вуз | учись в Петербурге
Рет қаралды 128
GIANT Gummy Worm Pt.6 #shorts
00:46
Mr DegrEE
Рет қаралды 84 МЛН