go:自定义结构体排序,结构体二级排序

    技术2022-07-16  66

    go 的自定义排序

    type entity struct{ Id int64 UserLongtitude float64 UserLatitude float64 Longitude float64 Latitude float64 } type list []*entity func (s list) Len() int { return len(s) } func (s list) Swap(i, j int) { s[i], s[j] = s[j], s[i] } func (s list) Less(i, j int) bool { disA := (s[i].UserLatitude - s[i].Latitude) * (s[i].UserLatitude - s[i].Latitude) + (s[i].UserLongtitude - s[i].Longitude) * (s[i].UserLongtitude - s[i].Longitude) disB := (s[j].UserLatitude - s[j].Latitude) * (s[j].UserLatitude - s[j].Latitude) + (s[j].UserLongtitude - s[j].Longitude) * (s[j].UserLongtitude - s[j].Longitude) return disA < disB } func main(){ var t list .....// 赋值 sort.Sort(t) }
    Processed: 0.021, SQL: 9