Sorting 在Go中对无符号整数进行排序

Sorting 在Go中对无符号整数进行排序,sorting,go,Sorting,Go,我想对[]uint的一部分进行排序。这有意义吗?是否有什么东西是我缺少的,使它们变得不可排序?我注意到,有一个IntSlice和Float64Slice,但是uint没有 如果uints是可排序的,那么我可以只为Len()、Less(I,j int)和Swap(I,j int)复制它们用于sort.IntSlice?的相同实现吗?对于1.7,您可以为[]uint片的别名类型对实现的任何片进行排序,并使用。在Go 1.8中,您可以选择使用。参见示例为什么它们不可排序?sort包并没有为每种可能的类

我想对
[]uint
的一部分进行排序。这有意义吗?是否有什么东西是我缺少的,使它们变得不可排序?我注意到,有一个
IntSlice
Float64Slice
,但是
uint
没有


如果
uint
s是可排序的,那么我可以只为
Len()
Less(I,j int)
Swap(I,j int)
复制它们用于
sort.IntSlice

的相同实现吗?对于1.7,您可以为[]uint片的别名类型对实现的任何片进行排序,并使用。在Go 1.8中,您可以选择使用。参见示例

为什么它们不可排序?sort包并没有为每种可能的类型实现排序,并且无符号值通常不用于序数,因此对它们进行排序并不常见。我不知道,我想我只是在想它们可能不具有相同的可比性。正如您所说,它们通常被用作标称值,并且可能存在一些奇怪的边缘情况,比如
var x uint32=math.maxint32;x+1==0
。啊,太棒了,谢谢!查看用于对排序进行反射的
reflect.Swapper
非常有趣。期待着1.8。