Простой метод b := B(a) не работает в этом случае.
Не хочется использовать рефлекты из-за перфоманса, и построчное копирование полей — из-за возможных ошибок.
построчное копирование полей
Тогда есть какой-нибудь способ проверить, чтобы все поля были заполнены? В линтере есть exhaustruct, но не очень удобный вариант
можно убрать названия полей при заполнении структуры и тогда при нарушении порядка или отсутствия полей - получите ошибку при компиляции. Но это крайне неудобно.
Обсуждают сегодня