tus*_*shR 10 go
我试图通过其成员类型time.Time在GOlang中对结构进行排序.结构如下.
type reviews_data struct {
review_id string
date time.Time
score int
firstname string
anonymous bool
review_text string
title_text string
rating float64
upcount int
}
我有以下功能进行排序
type timeSlice []reviews_data
// Forward request for length
func (p timeSlice) Len() int {
return len(p)
}
// Define compare
func (p timeSlice) Less(i, j int) bool {
return p[i].date.Before(p[j].date)
}
// Define swap over an array
func (p timeSlice) Swap(i, j int) {
p[i], p[j] = p[j], p[i]
}
地图定义如下
var reviews_data_map = make(map[string]reviews_data)
在地图填充值之后,按值对地图进行排序,如下所示
//Sort the map by date
date_sorted_reviews := make(timeSlice, 0, len(reviews_data_map))
for _, d := range reviews_data_map {
date_sorted_reviews = append(date_sorted_reviews, d)
}
sort.Sort(date_sorted_reviews)
问题是结果没有排序.任何人都可以告诉我问题是什么.提前致谢.