Комментарии 2
хэш от такого ключа всегда разный, по-этому элементы будут разбросаны по разным бакетам.
А точно хэши разные? Больше похоже на то, что хэши как раз совпали и произошла коллизия, а в таком случае происходит сравнение значений ключа. И так как вы сами же выше и написали, что NaN != NaN, из-за этого и считается что ключ новый и происходит вставка очередной пары с NaN ключом.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Hashmap(map) по версии Golang. Часть 2