Можно ли сравнивать структуры в Go через ==?

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

Зависит от полей. Если все поля comparable (int, string, bool, pointer, array) — да. Если есть slice, map или func — нет, compilation error. Трюк: struct{a int; b []int}{} == ... не скомпилируется. Для сравнения с несравнимыми полями — reflect.DeepEqual или ручное сравнение. Пустые struct{}{} == struct{}{} всегда true.

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

Как масштабируешь сервис?