Skip to main content

常にいまいち

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, ","))
	}
}

refs: https://play.golang.org/p/gKaNr3KFHae