Sort could have a reverse option, but for that to work well go would need overloaded functions, or at least types that you could define an ordering on, which would let you do
a := ReverseOrder(10)
b := ReverseOrder(20)
a < b // false
sort.Slice(people, func(p Person) string { return ReverseOrder(p.Name) })
Comparison functions are just not very user friendly when what you really want to do is just sort naturally based on a list of fields.
Not to mention, the key func aka DSU[1] approach is much faster when the comparison function is expensive to call.. imagine something like
vs. One needs manual memoizing or caching of this function call, the other can do it internally in a much simpler manor.[1] https://en.wikipedia.org/wiki/Schwartzian_transform