男神鵬:golang gin 實現分頁工具函數


分頁是項目的一些關鍵點,每個語言都有它不同的寫法,那么在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
  }
 
在用到時 直接調用即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM