Почему вы должны научиться использовать дженерики

Вопросы языкознания

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Даниил в своей неподражаемой манере расскажет про отсутствие настоящей ковариантности и контравариантности в Go, и как их имитировать средствами дженериков. Код внутри немного ломает мозг, но надеюсь это поможет сделать функции и связи в бизнес коде проще.

Целевая аудитория

программисты на Go

Тезисы

Кажется, через 3 с лишним года после появления в языке, дженерики все еще не до конца приняты сообществом. Часто можно услышать, что они не нужны, что они делают код менее читабельным, что их производительность оставляет желать лучшего...

Да, из всех средств написания запутанного кода на Go дженерики, пожалуй, самое мощное. Именно поэтому мы должны научиться использовать дженерики правильно.

Почему бы просто не отказаться от них полностью, раз они такие опасные? Вот об этом я и хочу вам рассказать.

Давайте посмотрим, как мы можем использовать дженерики для написания обобщенного кода.
Давайте посмотрим, как мы можем использовать их для преодоления недостатков системы типов Go.
Давайте посмотрим, зачем писать нетривиальные констрейнты, и как это делать.
И, наконец, давайте разберемся, чего нельзя делать на дженериках никогда, и почему.

30+ лет профессионального стажа. Полжизни в эксплуатации. Последние 9 лет пишет на Go.

Видео