Skip to content
15 / 15

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»Π°ΡΡ‚ΡŒ Π² map ΠΈ Ρ‡Ρ‚ΠΎ Π»ΠΎΠΌΠ°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ равСнства

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ == Π² Go Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ со всСми Ρ‚ΠΈΠΏΠ°ΠΌΠΈ. Π‘Ρ€Π°Π²Π½ΠΈΠΌΡ‹ Π±ΡƒΠ»Π΅Π²Ρ‹, числа, строки, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠ°Π½Π°Π»Ρ‹, интСрфСйсы ΠΈ структуры с массивами, всС поля ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сравнимы. НСсравнимы слайсы, ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с nil. ΠžΡ‚ΡΡŽΠ΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊΠ°Ρ€Ρ‚Ρ‹: ΠΊΠ»ΡŽΡ‡ обязан Π±Ρ‹Ρ‚ΡŒ сравнимым, поэтому слайс ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚, Π° массив β€” ΠΌΠΎΠΆΠ΅Ρ‚. Бамая коварная Ρ‡Π°ΡΡ‚ΡŒ β€” интСрфСйсы: == Π½Π° Π½ΠΈΡ… компилируСтся всСгда, Π½ΠΎ ΠΏΠ°Π½ΠΈΠΊΡƒΠ΅Ρ‚ Π² Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ΅, Ссли Π²Π½ΡƒΡ‚Ρ€ΠΈ Π»Π΅ΠΆΠΈΡ‚ нСсравнимый динамичСский Ρ‚ΠΈΠΏ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Π° с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ any собСрётся, Π° ΡƒΠΏΠ°Π΄Ρ‘Ρ‚ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΆΠ΅ вставкС слайса. Π’Ρ‚ΠΎΡ€ΠΎΠ΅, ΠΎ Ρ‡Ρ‘ΠΌ Π·Π°Π±Ρ‹Π²Π°ΡŽΡ‚, β€” ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: присваиваниС структуры ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Ρ‘ повСрхностно, поэтому слайсы ΠΈ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ останутся ΠΎΠ±Ρ‰ΠΈΠΌΠΈ с ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΠΎΠΌ. Для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ сравнСния Π΅ΡΡ‚ΡŒ reflect.DeepEqual (ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ, для тСстов) ΠΈ типобСзопасныС slices.Equal ΠΈ maps.Equal.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»Π°ΡΡ‚ΡŒ Π² map ΠΈ Ρ‡Ρ‚ΠΎ Π»ΠΎΠΌΠ°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ равСнства | JScriptiser