package main
import (
"fmt"
"math"
)
func main() {
data := []string{
"a", "b", "c", "d", "e"} // 数组
size := 10
page := 1
start, end := SlicePage(page, size, len(data))
pageData := data[start:end]
fmt.Println(pageData)
}
func SlicePage(page, pageSize, nums int) (sliceStart, sliceEnd int) {
if page <= 0 {
page = 1 //设置默认页码
}
if pageSize < 0 {
pageSize = 10 //设置一页默认显示的记录数
}
//总页数
pageCount := int(math.Ceil(float64(nums) / float64(pageSize)))
//处理 当前页码>总页数
if page > pageCount {
return 0, 0
}
//处理 一页默认显示的记录数>总记录数
if pageSize > nums {
return 0, nums
}
sliceStart = (page - 1) * pageSize
sliceEnd = sliceStart + pageSize
if sliceEnd > nums {
sliceEnd = nums
}
return sliceStart, sliceEnd
}
Golang 切片/数组实现分页
猜你喜欢
转载自blog.csdn.net/SweetHeartHuaZai/article/details/132423278
今日推荐
周排行