В то время как язык Go предоставляет нам много таких крутых инструментов как go-рутины, каналы, утиная типизация, быстрый сборщик мусора, маленький рантайм и компиляцию в нативный код под множество платформ, мы, как разработчики, часто страдаем от того, что нам нужно платить дань в виде рутинного, повторяющегося кода. В своём докладе я продемонстрирую, что несмотря на расхожее мнение, отсутствие дженериков это далеко не основная проблема Go, с которой мы сталкиваемся каждый день на практике. Мы поговорим о применимости и применении такого шаблона проектирования как «декоратор» для инструментирования Go кода. На примерах из реальной жизни, я покажу, каким образом можно решить типовые инженерные проблемы с помощью одного простого инструмента. Вы узнаете, как можно победить рутину и добавить такую функциональность как метрики, трейсинг, повторы, предохранители, логгирование и другую функциональность в ваши проекты на Go за считанные секунды!