In Go, people use "slices" as dynamic arrays, because plain arrays have sizes that should be known at compile time.
But while equality is conceptually simple for dynamic arrays, Go does not define it for slices (because slices behave differently depending on other things in the underlying array). As a result, slices cannot be used as keys in a map.
And so there is no simple way to store dynamic arrays in a hash table in Go.
How do Go programmers work around this limitation? Do people write their own hash table implementations for this?
slices.Equalworks)? Why not equal only if the backing arrays are the same address? Are pointers equal, or what they point to? What about slices of slices? Regardless of how you want to define it, it's not a feature of the language, and it's not difficult to work around in the rare cases you need a map key based on a slice.