https://golang.org/src/sort/sort.go?s=7650:7680#L287
https://qiita.com/yut-kt/items/ef8ce10c66153dd84317
https://gist.github.com/xigang/827e342fc2580198f625ce272257ef37
package main import ( "fmt" "sort" "time" ) 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 func (p timeSlice) Len() int { return len(p) } func (p timeSlice) Less(i, j int) bool { return p[i].date.Before(p[j].date) } func (p timeSlice) Swap(i, j int) { p[i], p[j] = p[j], p[i] } func main() { var reviews_data_map = make(map[string]reviews_data) reviews_data_map["1"] = reviews_data{date: time.Now().Add(12 * time.Hour)} reviews_data_map["2"] = reviews_data{date: time.Now()} reviews_data_map["3"] = reviews_data{date: time.Now().Add(24 * time.Hour)} //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) } fmt.Println(date_sorted_reviews) sort.Sort(date_sorted_reviews) fmt.Println(date_sorted_reviews) }
timeをsortするときには、現状sort.Sliceが使われるとの事ですが、
sort.sliceを使わない方法の際出てくる、len,less,swapの存在が気にかかります。
これらは、function(関数)だと思われるのですが、どこで使われているのか?どのように使われているのかがわからなかったので教えて頂きたいです。
コード上では、定義はしているのに使用していないのではないかとも取れるのですがどうなんでしょうか??
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。