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)

问题是结果没有排序.任何人都可以告诉我问题是什么.提前致谢.