分页页码业务逻辑
场景:每个页面显示5个页码
分析:
- 情况1:页码不足5页,显示所有页码
- 情况2:页码大于5页,当前页码小于等于3的情况,1 2 3
- 情况3:页码大于5页,当前页码是最后3个页码的情况(若总共10页),6 7 8 9 10
- 情况4:页码大于5页,N-1 N-2 N N+1 N+2
//函数PageEdit返回根据当前页码的整型切片
//参数pageCount:总的页码
//参数pageIndex:当前页码
func PageEdit(pageCount int,pageIndex int)[]int{
var pages []int
if pageCount < 5{ //页码不足5页,显示所有页码
for i:=1;i<=pageCount;i++{
pages = append(pages,i)
}
}else if pageIndex <= 3{ //页码大于5页,前3页情况,1 2 3
for i:=1;i<=5;i++{
pages = append(pages,i)
}
}else if pageIndex >= pageCount -2{ //页码大于5页,最后3页情况,6 7 8 9 10
for i:=pageCount - 4;i<=pageCount;i++{
pages = append(pages,i)
}
}else { //页码大于5页,N-1 N-2 N N+1 N+2
for i:=pageIndex - 2;i<=pageIndex + 2;i++{
pages = append(pages,i)
}
}
return pages
}