我正在尝试对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
sort.Ints是对几个int进行排序的便捷函数。通常,如果要对某些内容进行排序和排序,则需要实现sort.Interface接口.Reverse只是返回该接口的另一种实现,该实现重新定义了Less方法。
Less
幸运的是,sort程序包包含一个称为IntSlice的预定义类型,该类型实现了sort.Interface:
keys := []int{3, 2, 8, 1} sort.Sort(sort.Reverse(sort.IntSlice(keys))) fmt.Println(keys)