Дженерики в Go получили обобщенные методы... Ну, почти
Автор: Flo Woelki
Загружено: 2026-07-24
Просмотров: 4985
Описание:
В Go появятся обобщенные методы! Давайте обсудим это. Если вам интересен 15-минутный экспресс-курс по Go, посмотрите это видео: • Go from Zero to Hero: Learn Golang in 15 m...
📝 Описание
Обобщения в Go получат серьезное обновление в виде обобщенных методов, и понимание того, что они исправят (и где они все еще будут несовершенны), поможет вам писать более чистый код уже сегодня. В этом видео мы разберем предложенную функцию обобщенных методов, рассмотрим два реальных примера ее использования и обсудим альтернативы, которые вы можете использовать прямо сейчас, пока предложение находится в будущем релизе Go. Вот что вы узнаете:
• Поймите, что такое обобщенные методы, почему предложение (golang/go#77273) было принято, и ключевое ограничение, заключающееся в том, что они работают только со структурами, а не с интерфейсами.
📝 Описание
Обобщения в Go получают серьезное обновление в виде обобщенных методов, и понимание того, что они работают только со структурами, а не с интерфейсами. • Узнайте, как обобщенные методы позволяют напрямую привязывать параметр типа к методу (например, `Map[U any]`), вместо того чтобы полагаться на функцию верхнего уровня, которая находится за пределами вашего типа и нарушает цепочку вызовов методов.
• Просмотрите пример использования конструктора запросов ORM, демонстрирующий, как `Include[R any]` в качестве метода восстанавливает цепочку вызовов методов по сравнению с громоздким шаблоном переназначения, необходимым сегодня.
• Изучите доступные сейчас практические альтернативы, включая хорошо продуманные интерфейсы (например, `io.Reader`), дублированные функции, специфичные для типов (например, пакеты `strings`/`bytes`), и обходной путь с использованием `any` плюс утверждение типа/рефлексия.
• Быстро оцените, почему эти изменения важны для эргономики и удобства работы разработчиков, даже несмотря на то, что ограничение интерфейса до сих пор не решено.
⏳ Временные метки:
00:00 - Введение
01:02 - Вариант использования 1
04:44 - Вариант использования 2
11:57 - Альтернативы
12:44 - Заключение
🔗 Ссылки:
Предложение: https://github.com/golang/go/issues/7...
👋 Привет!
Если вы новичок на этом канале: Привет 👋 меня зовут Фло, и я профессиональный разработчик программного обеспечения, увлеченный программированием на Golang, TypeScript, JavaScript и Rust. На этом канале я делюсь своей страстью и погружаюсь в захватывающий мир разработки программного обеспечения.
📨 Поддержка и общение!
Станьте участником. https://www.youtube.com/@FloWoelki/me...
Discord: / discord
X / Twitter: https://x.com/FlorianWoelki
LinkedIn: / florian-woelki
GitHub: https://github.com/FlorianWoelki
📝 Уведомление об авторских правах
Оригинальный Go Gopher был разработан Рене Френч (Источник: https://go.dev/blog/gopher Подробности лицензии: https://creativecommons.org/licenses/.... Изображение суслика в этом видео и на миниатюре было изменено по сравнению с оригинальным дизайном и основано на иллюстрации из набора free-gophers-pack Марии Летты (Источник: https://github.com/MariaLetta/free-go... Лицензия: CC0 1.0 Общественное достояние https://creativecommons.org/publicdom....
#go #generic #methods #go1.27
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: