package page import ( "strconv" "github.com/gin-gonic/gin" ) type PageData struct { PageSize int `json:"page_size"` PageNumber int `json:"page_number"` Offset int `json:"-"` Total interface{} `json:"total"` Data interface{} `json:"data"` } func Build(ctx *gin.Context, pageSize int) PageData { s := ctx.Query("p") i, err := strconv.Atoi(s) if err != nil { i = 1 } return PageData{ PageNumber: i, PageSize: pageSize, Offset: (i - 1) * pageSize, } }