pagination

package
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 7, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

README

pagination

pagination 负责解析分页参数并生成 limit、offset。

导入

import "github.com/jackman0925/go-foundation/pagination"

基础用法

page := pagination.Parse("1", "20")
limit, offset := page.LimitOffset()
totalPages := pagination.TotalPages(41, 20)

注意事项

  • 默认页码为 1;
  • 默认页大小为 20;
  • 最大页大小为 100,用于避免无界查询;
  • TotalPages 在 totalRecords <= 0 或 pageSize <= 0 时返回 0。

Documentation

Index

Constants

View Source
const (
	// DefaultPage 是页码缺失或无效时使用的默认值。
	DefaultPage = 1
	// DefaultPageSize 是 pageSize 缺失或无效时使用的默认值。
	DefaultPageSize = 20
	// MaxPageSize 用于限制分页大小,避免无界查询。
	MaxPageSize = 100
)

Variables

This section is empty.

Functions

func TotalPages

func TotalPages(totalRecords int64, pageSize int64) int64

TotalPages 根据总记录数和页大小计算总页数。

Types

type Page

type Page struct {
	PageNo   int `json:"pageNo"`
	PageSize int `json:"pageSize"`
}

Page 描述标准化后的分页参数。

func Parse

func Parse(pageValue string, pageSizeValue string) Page

Parse 将字符串分页参数标准化为有边界的 Page。

func (Page) LimitOffset

func (p Page) LimitOffset() (int, int)

LimitOffset 返回 SQL 风格的 limit 和 offset。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL