golang写的一个分页控件。
直接放代码吧,基本不用改,直接用了。
package components
import "math"
/**
* @Copyright neil <dg0451@msn.com>
* @Author:任喆
* @Date:2019-04-01
* @Description: 分页控件
*/
//Pages 分页控件
type Pages struct {
CurrentPage int
RecordCount int64
PageSize int
Rows interface{}
}
//StartRecord 设置分页查询时起始位置
func (p *Pages) StartRecord() int {
start := 0
if p.CurrentPage > 1 {
start = (p.CurrentPage - 1) * p.PageSize
}
return start
}
//Paginator 分页方法
func (p *Pages) Paginator() map[string]interface{} {
//初始使用的变量
var (
showPageItem int = 3 //这个是分页栏显示的数量(不是显示记录的数量)
totalpages int
firstpage int
lastpage int
currpage int = p.CurrentPage
pages []int
)
paginatorMap := make(map[string]interface{}) //返回的分页数据
rows := p.Rows //分页后的数据
//page总页数
totalpages = (int(p.RecordCount) &