🟢 Лёгкий · 1 очк. JSON и сериализация
Чем отличаются теги json:",omitempty" и json:"-" у полей структуры?
A json:"-" исключает поле из JSON; omitempty не включает поле, если значение пустое (0, "", nil)
B Оба исключают поле из JSON в любом случае
C omitempty исключает поле навсегда; "-" только при Unmarshal
D Разницы нет, это синонимы
Объяснение вопроса

json:"-": поле никогда не сериализуется и не десериализуется.

json:",omitempty": при Marshal поле опускается, если значение пустое: false, 0, "", nil, пустой срез, пустая map.

Подводный камень omitempty: нулевое значение числа (0) или false не попадут в JSON. Для указателей можно использовать *int: nil - отсутствует, указатель на 0 - явный ноль.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.