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