由于切片或数组数据比较大,业务量无法单次无法吞吐处理,那么就可以分批次处理,如:每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
}
}