Как отличить отсутствие значения от zero value?

Middle
130 просмотров
AFK Offer AI

Проблема: 0 для int — это и zero value, и валидное значение. Решения: использовать указатель (*int — nil означает отсутствие), обернуть в структуру с полем Valid (как sql.NullInt64), или использовать comma-ok паттерн (map lookup). Для JSON — pointer поля: если nil, значит не пришло. Выбор зависит от контекста, указатели самый простой вариант.

Следующий вопрос

Что такое sync.Map amortized operations?