В этой статье я хотел бы рассмотреть некоторые возможности генерации кода внутри языка Go, которая сможет частично заменить встроенную рефлексию и не потерять типобезопасность на этапе компиляции.
Язык программирования Go предоставляет мощные инструменты для генерации кода.
Go часто критикуют за отсутствие дженериков, и это действительно может быть проблемой.
И тут на помощь приходит генерация кода, которая на первый взгляд достаточно сложна для небольших рутинных операций, но тем не менее является достаточно гибким инструментом.
Уже существует ряд готовых библиотек генерации кода, покрывающих базовые потребности в обобщениях.
Это «ссылка» стрингер и более полезный jsonums С ффджсон Мощный ген и даже позволяет добавить в Go некоторый функционал, в том числе добавить так недостающий многим аналог forEach для пользовательских типов.
Кроме того, gen довольно легко расширяется за счет собственных генераторов.
К сожалению, gen ограничивается генерацией кода методов для конкретных типов.
Собственно, я решил затронуть тему генерации кода не потому, что жизнь удалась, а потому, что столкнулся с небольшой проблемой, для которой не смог найти другого подходящего решения.
Задача такая, есть список констант:
Теги: #Go #golang #генерация кода #программирование #Gotype Color int const (
-
Ликофиты
19 Oct, 24 -
Ecir 2013 - В Москве
19 Oct, 24 -
F#8: Дискриминированные Профсоюзы
19 Oct, 24 -
Упрощение Заполнения Веб-Форм
19 Oct, 24 -
О Бесполезности Компьютерных Игрушек
19 Oct, 24