// Подготовка исходного слайса
sourceSize := 9600
source := make([]int, sourceSize)
for i := 0; i < sourceSize; i++ {
source[i] = i+1
}
// Разбиение слайса
chunkSize := 1000
result := make([][]int, 0)
var first, last int
for i := 0; i < len(source) / chunkSize + 1; i++ {
first = i * chunkSize
last = i * chunkSize + chunkSize
if last > len(source) {
last = len(source)
}
if first == last {
break
}
result = append(result, source[first:last])
}
// Вывод результата
for _, res := range result {
fmt.Println(res)
}
https://play.golang.org/p/FkaaZwLa53q