小さなヘルパー関数を作成して、大きな配列のアイテムを最大サイズがn
の小さな配列に分割しました。汎用ヘルパー関数を作成する
func toPackages(e []int, n int) [][]int {
var p [][]int
packets := int(math.Ceil(float64(len(e))/float64(n)))
for i := 0; i < packets; i++ {
start := i * n
end := n * (i + 1)
if len(e) < end {
end = len(e)
}
p = append(p, e[start:end])
}
return p
}
Golang Playgroundでの作業例。
私は分割したいいくつかの異なるタイプの配列を持っています。私はそれをinterface{}
とのインターフェイスを使って変換しようとしました。
goにはジェネリックはありません。 'interface {}'を使うか、この特定の関数を実行するために必要な型ごとに関数を作成することができます。 – Adrian