🟡 Средний · 2 очк. Структуры и методы
Можно ли сравнивать структуры оператором ==?
A Всегда
B Только если все поля сравнимы
C Никогда
D Только указатели на них
Объяснение вопроса

Структуры можно сравнивать оператором == только если все их поля сравнимы. Если в структуре есть поле типа слайс, map или функция - сравнение через == невозможно (ошибка компиляции). Структура из примитивов (int, string, bool, указатели на сравниваемые типы) сравнима. Для сложных структур можно реализовать свой метод сравнения.

type A struct{ X int }
a, b := A{1}, A{1}
fmt.Println(a == b)  // true
type B struct{ S []int }
// b1 == b2  // ошибка компиляции
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.