分页是项目的一些关键点,每个语言都有它不同的写法,那么在golang中如何实现呢??

 

实现技巧:golang一般都把这种在项目常用到的都划分成工具函数,当你想用到的时候,直接调用工具函数就可以达到想要的效果。

 

实现代码:

  

package util

import (
"fmt"
"github.com/gin-gonic/gin"
"strconv"
)

// Pagination is page util
func Pagination(ctx *gin.Context) (pageStr string, num int, err error) {
  limit := ctx.DefaultQuery("page_size", "8")
  pageNumber := ctx.DefaultQuery("page_number", "1")
  limitInt, err := strconv.Atoi(limit)
  if err != nil || limitInt < 0 {
    return "", 0, err
  }
  pageNumberInt, err := strconv.Atoi(pageNumber)
  if err != nil || pageNumberInt < 0 {
    return "", 0, err
  }
  if pageNumberInt != 0 {
    pageNumberInt--
  }
  offsetInt := limitInt * pageNumberInt
  pageStr = fmt.Sprintf(" limit %d offset %d", limitInt+1, offsetInt)
  return pageStr, limitInt, nil
  }
 
在用到时 直接调用即可。

相关文章:

  • 2021-10-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-07
  • 2021-11-30
  • 2022-12-23
  • 2021-12-16
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2019-03-07
  • 2022-12-23
  • 2022-01-03
  • 2022-12-23
  • 2019-06-02
相关资源
相似解决方案