У меня есть фрагмент структуры, подобный этому
type Interval struct{
number float64
coordinate string
}
var data []Interval
Предположим, что данные похожи ниже
[]Interval{
Interval{
number: 1,
coordinate: "x",
},
Interval{
number: 8,
coordinate: "y",
},
Interval{
number: 2,
coordinate: "x",
},
Interval{
number: 5,
coordinate: "y",
},
Interval{
number: 5,
coordinate: "x",
},
Interval{
number: 6,
coordinate: "y",
},
Interval{
number: 3,
coordinate: "x",
},
Interval{
number: 7,
coordinate: "y",
},
}
Мой вопрос, как я могу отсортировать это по number
и * 1008? *?
Я пытался использовать метод сортировки ниже, но это не так, как мои ожидания
// sort method that I use
sort.Slice(data, func(i, j int) bool {
return data[i].number < data[j].number
})
результат:
[{1 x} {2 x} {3 x} {5 y} {5 x} {6 y} {7 y} {8 y}]
ожидание:
[{1 x} {2 x} {3 x} {5 x} {5 y} {6 y} {7 y} {8 y}]
diff: {5 y} {5 x}
должно быть {5 x} {5 y}
Подсказки: мой результат ожидания схож с тем, что python имеет с функцией sort
действительно ценю с любой помощью