func New(totalSize, pageSize, currentPage int, urlTemplate string) *Page {
	p := &Page{
		LinkStyle:    "GPageLink",
		SpanStyle:    "GPageSpan",
		SelectStyle:  "GPageSelect",
		PrevPageTag:  "<",
		NextPageTag:  ">",
		FirstPageTag: "|<",
		LastPageTag:  ">|",
		PrevBarTag:   "<<",
		NextBarTag:   ">>",
		TotalSize:    totalSize,
		TotalPage:    int(math.Ceil(float64(totalSize) / float64(pageSize))),
		CurrentPage:  currentPage,
		PageBarNum:   10,
		UrlTemplate:  urlTemplate,
	}
	if currentPage == 0 {
		p.CurrentPage = 1
	}
	return p
}
New creates and returns a pagination manager.
Note that the parameter `urlTemplate` specifies the URL producing template, like:
/user/list/{.page}, /user/list/{.page}.html, /user/list?page={.page}&type=1, etc.
The build-in variable in `urlTemplate` "{.page}" specifies the page number, which will be replaced by certain
page number when producing.
package gpage
import (
	"fmt"
	"github.com/gogf/gf/v2/text/gstr"
	"github.com/gogf/gf/v2/util/gconv"
	"math"
)
type Page struct {
	TotalSize      int     
	TotalPage      int     
	CurrentPage    int     
	UrlTemplate    string  
	LinkStyle      string  
	SpanStyle      string  
	SelectStyle    string  
	NextPageTag    string  
	PrevPageTag    string  
	FirstPageTag   string  
	LastPageTag    string  
	PrevBarTag     string  
	NextBarTag     string  
	PageBarNum     int     
	AjaxActionName string  
}
const (
	DefaultPageName        = "page"     
	DefaultPagePlaceHolder = "{.page}"  
)