package main
import "fmt"
func chunkSlice(slice []int, chunkSize int) [][]int {
var chunks [][]int
var size = len(slice)
for i := 0; i < size; i += chunkSize {
end := i + chunkSize
if end > len(slice) {
end = len(slice)
}
chunks = append(chunks, slice[i:end])
}
return chunks
}
func main() {
arr := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}
chunkSize := 3
chunks := chunkSlice(arr, chunkSize)
fmt.Println(chunks)
fmt.Println(chunks[0])
fmt.Println(chunks[0][0])
fmt.Println(chunks[0][1])
fmt.Println(chunks[0][2])
}
/*
run:
[[1 2 3] [4 5 6] [7 8 9] [10 11 12] [13 14]]
[1 2 3]
1
2
3
*/