Sliceを更に小さいSliceに分割して処理するサンプル
確認した環境
go1.16.3
使いみち
バッチジョブなどの負荷を下げるために小規模のバッチに変換するようなときに使う。
コード片
package main
import (
"fmt"
"strings"
)
func main() {
ar := make([]string, 1000)
for i := range ar {
ar[i] = fmt.Sprint(i)
}
batchSize := 30
for i := 0; i < len(ar); i += batchSize {
end := i + batchSize
if len(ar) < end {
end = len(ar)
}
batch := ar[i:end]
fmt.Println(strings.Join(batch, ","))
}
}
2021-04-11