var b = ((*[1 << 8]int)(unsafe.Pointer(&a[0])))[:len(a):cap(a)]
sort.Ints(b)
炫技成分较多,完全可以用sort.Slice或者sort.SliceStable解决的,非要引入unsafe装一装。
因为长度不确定,但是数组类型必须有一个确定的长度,就取一个最大值,先放大再缩小(通过[::])
#4
更多评论
盲猜一种可能:a是[]Interger,同时长度不超过256,由于sort.Ints接收的是[]int于是强行转换类型来匹配sort.Ints。
顺便多说一句,select的实现过程中也有类似的用法。
#1