Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Equals в Golang

A H Ученик (104), открыт 3 часа назад
Есть ли в Golang что-то по типу equals из java
1 ответ
Андрей Высший разум (461524) 3 часа назад
Только для тех типов, которые не являются comparable (comparable-тип в Go: тип данных, к значениям которого допустимо применять операции == и !=).

Это в Java абсолютно все объекты (начиная со строк) - скрытые от программиста указатели. И, потому, необходимо отдельное действие для сравнение указателей и отдельное для сравнения значений. А в Go указатель - не скрытое свойство объекта, а отдельный comparable-тип данных. И ты сам волен решать, что именно сравнивать в ==: указатели или значения, на которые они указывают.

А вот типы, не являющиеся comparable, имеют скрытую от программиста внутреннюю структуру и для них аналоги equals есть:
Для ассоциативных массивов: https://pkg.go.dev/maps#Equal
Для срезов: https://pkg.go.dev/slices#Equal
Похожие вопросы