hello-go-数据分批计算

package main

import (
	"fmt"
	"math"
)

func hello1(xids []int64, count int) {
	//count 分组后的 每组最大数据量
	numberOfBatches := int(math.Ceil(float64(len(xids)) / float64(count))) // math.Ceil 向上取整

	if len(xids) <= count {
		fmt.Println("查询一次直接返回", xids)
		return
	}
	for i := 0; i <= numberOfBatches; i++ {
		start := i * count     // 开始索引
		end := (i + 1) * count // 结束索引

		if end > len(xids) {   //如果结束索引大于 切片长度    end取值为  len(todyCampaignIds)
			end = len(xids)
		}

		if start >= len(xids) {
			break
		}
		fmt.Println("一个查询", numberOfBatches, "次", "当前是第", i+1, "次", "开始索引:", start, "结束索引:", end)
		fmt.Println(xids[start:end]) // 索引 左闭右开     包含左侧 不包含右侧
	}
}

func main() {
	var xids = []int64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100, 101, 103}
	hello1(xids, 4) 
}
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值