【发布时间】:2018-02-22 06:35:33
【问题描述】:
type Item struct {
Y int
X int
otherProp int
}
我有一些类似上面的结构。如何像 SQL 中的 ORDER BY X,Y 那样先按 X 值然后按 Y 值对切片 item []Item 进行排序?
我看到你可以使用 sort.Slice() 从 go 1.8 开始,但是有没有一种简单的方法可以解决这个问题而无需多次循环切片?
【问题讨论】:
-
您比较 X 和 Y 值。你能举一个例子说明你在哪里做这件事吗? (
sort.Slice不是必需的,您也可以使用标准的sort.Sort来执行此操作。) -
该软件包甚至包含一个在一般情况下如何执行此操作的示例:golang.org/pkg/sort/#example__sortMultiKeys。或者,您可以排序两次:首先在 Y 上,然后在 X 上稳定 (!)。
-
你能举一个预期行为的例子吗?