1.前文回顾
数据库分页
上篇文章讲解到通过数据库的sql查出来的数据就是已经分页好的。
是通过sql后面加的limit跟offset字段来进行分页,这篇文章讲解,已经查出来的list怎么实现内存分页呢。
2.前端参数
默认从第一页开始查询。
3.分页调用
如果没传参数,都使用默认值。
4.分页源码
func (
p
*
Pagination)
GetValidPagination(
total
int) (
startIndex,
endIndex
int) {
// no pagination
if
p
.
Limit
==
NoPagination
.
Limit {
return
0,
total
}
// out of range
if
p
.
Limit
<
0
||
p
.
Offset
<
0
||
p
.
Offset
>
total {
return
0,
0
}
startIndex
=
p
.
Offset
endIndex
=
startIndex
+
p
.
Limit
if
endIndex
>
total {
endIndex
=
total
}
return
startIndex,
endIndex
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
5.源码解析
如果不传煤业的大小,默认不分页,
最后一页超出范围,只显示到最后一条
解析url的相关参数。
offset的值是通过参数解解析处理的。
6.前端效果图
是不是看了这篇文章,发现分页如此的简单。
如果这篇文章帮到了你,希望你可以帮小编投投票,47号峰啊疯了,投完可以抽奖哦
https://blog.51cto.com/blog-contest/index#part4