由于切片或数组数据比较大,业务量无法单次无法吞吐处理,那么就可以分批次处理,如:每100处理一次,具体实现如下:
func main() {
begin := 0? ?//循环起始值
end := 18? ?//循环结束值
????????num := 100 //每次处理的数量
FOR:
all := []int{1,2,3,4,5,6,7,8,9,10.....}
for i:=begin; i<end; i++ {
all = append(all, i)
if i> 0 && i%num == 0 {
begin = i+1
goto PRINT
} else {
if end-begin<num{
? ?begin = end
}
}
}
PRINT:
? fmt.Println(all)
? if (begin < end) {
goto FOR
? }
}
原文:https://blog.51cto.com/u_11701012/2871486