golng切片實現分頁


前言

實現切片分頁,主要是根據選擇頁碼和每頁顯示數量,計算了切片的開始、結束索引地址

package main

import "math"

func main() {
	slice1 := []int{1, 2, 3, 4, 5, 6, 7}

	sliceStart, sliceEnd := SlicePage(2, 10, len(slice1))
	fmt.Println(slice1[sliceStart:sliceEnd])
}

// @Summary 切片分頁
// @Param page 當前頁
// @Param pageSize 每頁顯示數量
// @Param nums 數據總數
// @return sliceStart 切片開始
// @return sliceEnd 切片結尾
func SlicePage(page, pageSize, nums int) (sliceStart, sliceEnd int) {
	if page < 0 {
		page = 1
	}

	if pageSize < 0 {
		pageSize = 20
	}

	if pageSize > nums {
		return 0, nums
	}

	// 總頁數
	pageCount := int(math.Ceil(float64(nums) / float64(pageSize)))
	if page > pageCount {
		return 0, 0
	}
	sliceStart = (page - 1) * pageSize
	sliceEnd = sliceStart + pageSize

	if sliceEnd > nums {
		sliceEnd = nums
	}
	return sliceStart, sliceEnd
}

go 總結常用函數


免責聲明!

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



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