Database pagination in beego
func PageDB(limit int, page int, count int64) (int, int) {
pageSetNum := limit // items per page
pageCount := math.Ceil((float64(count)) / (float64(pageSetNum))) // total pages
pageNum := page // current page number
if pageNum > int(pageCount) { // if the page number passed in is out of range
pageNum = int(pageCount)
}
offset := pageSetNum * (pageNum - 1)
if offset < 0 {
offset = 0
}
return pageSetNum, offset
}

