package common type PageParams struct { Page int `json:"page"` Num int `json:"pageSize"` Total int `json:"total"` Last bool `json:"last"` } //从0开始的分页 func (this *PageParams) GetPageParams() (pageNum int, start int) { start = this.Page * this.Num if this.Total <= this.Num { this.Page = 0 this.Last = true return this.Total, 0 } _start := (this.Page + 1) * this.Num if this.Total-_start < 0 { this.Last = true pageCount := this.Total / this.Num this.Page = pageCount num := this.Total - pageCount*this.Num if num == 0 { pageCount = pageCount - 1 return this.Num, pageCount * this.Num } return num, pageCount * this.Num } else if this.Total-_start == 0 { this.Last = true } return this.Num, start }