Post Thumbnail

Статья объясняет, как использовать битовые флаги и битовые маски в Go для эффективной конфигурации вместо множества булевых полей в структурах. Автор показывает идиоматический паттерн с iota для генерации степеней двойки (1, 2, 4, 8…), демонстрирует основные битовые операторы и объясняет, когда такой подход оправдан: при частых проверках в горячих путях, передаче флагов через API, компактной сериализации или работе с системными вызовами

Еще есть примеры обёртки флагов в структуре с методами, кастомной маршализации JSON и готовый рабочий пример HTTP-клиента

Главный вывод: битовые маски - мощный инструмент для системного кода, но не стоит использовать их для трёх-четырёх опций там, где подойдёт обычная структура с bool-полями

Похожее