![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/535/55f/63d/53555f63dc16e35de3f8e7e6100dd068.png)
Я java-программист по профессии и алкоголик go-developer по зову души. И вот в один прекрасный день я подумал о том, что раз уж в Go есть пакет reflect, то должны быть и способы АОП, прямо как в java. Если вкратце, я захотел генерировать обертки для функций в рантайме, позволяя красиво оборачивать логи, мониторинги, трейсинги, и прочие довольно однотипные штуки, по аналогии с тем, как я проделывал это в java.
Если вам стало интересно, что у меня из этого вышло, добро пожаловать под кат!