小编典典

如何对整数Go的切片进行反向排序?

go

我正在尝试对Go中的整数切片进行反向排序。

  example := []int{1,25,3,5,4}
  sort.Ints(example) // this will give me a slice sorted from 1 to the highest number

如何对它进行排序,使其从最高到最低?所以[25 5 4 3 1]

我已经试过了

sort.Sort(sort.Reverse(sort.Ints(keys)))

资料来源:http :
//golang.org/pkg/sort/#Reverse

但是,我得到下面的错误

# command-line-arguments
./Roman_Numerals.go:31: sort.Ints(keys) used as value

阅读 895

收藏
2020-07-02

共1个答案

小编典典

sort.Ints是对几个int进行排序的便捷函数。通常,如果要对某些内容进行排序和排序,则需要实现sort.Interface接口.Reverse只是返回该接口的另一种实现,该实现重新定义了Less方法。

幸运的是,sort程序包包含一个称为IntSlice的预定义类型,该类型实现了sort.Interface:

keys := []int{3, 2, 8, 1}
sort.Sort(sort.Reverse(sort.IntSlice(keys)))
fmt.Println(keys)
2020-07-02