Я хочу отправить в обратном порядке список книг, которые хранятся на карте, и отправить это модели вместо карты в ее текущем порядке.
Мне нужно отобразить список в обратном порядке.введен порядок даты, который является pubDate, поэтому веб-страница (модель) отображает последние добавленные книги вместо добавленных первыми.
Я перепробовал много разных методов сортировки, но не знаю, как отправить это в модель.Например, я попытался импортировать "sort"
var m map[int]string
var keys []int
for k := range m {
keys = append(keys, k)
}
sort.Ints(keys)
for _, k := range keys {
fmt.Println("Key:", k, "Value:", m[k])
}
Я также попробовал sort.Slice (ad, func (i, j int) bool {
return ad[i].date.Before(ad[j].date)})
, есть много других, ноКажется, я не могу работать.
type Book struct {
ID int64 `json:"id"`
Title string `json:"title"`
Author string `json:"author"`
pubDate time.Time `json:"pubDate"`
}
var bookModels = map[string]*Book{}
s := res.NewService("library")
// Add handlers for "library.book.$id" models
s.Handle(
"book.$id",
res.Access(res.AccessGranted),
res.GetModel(getBookHandler),
res.Set(setBookHandler),
)
// Add handlers for "library.books" collection
s.Handle(
"books",
res.Access(res.AccessGranted),
res.GetCollection(getBooksHandler),
res.New(newBookHandler),
res.Call("delete", deleteBookHandler),
)
func getBookHandler(r res.ModelRequest) {
book := bookModels[r.ResourceName()]
if book == nil {
r.NotFound()
return
}
r.Model(book)
}
В основном я получаю сообщения об ошибках, из-за которых карта не допускает индексацию, неверный тип, не может получить доступ к полям и т. Д. Как вы можете использоватьсопоставить и отправить его в модель и убедиться, что у вас есть самые последние элементы, перечисленные первыми на веб-странице?