How do I split a slice into chunks in Go?

In Go, it's common to need to split a slice into smaller chunks for various processing tasks. Below, we provide a concise way to achieve this using a custom function.

package main import ( "fmt" ) // ChunkSlice splits a slice into smaller chunks of the specified size. func ChunkSlice(s []int, chunkSize int) [][]int { var chunks [][]int for chunkSize < len(s) { s, chunks = s[chunkSize:], append(chunks, s[0:chunkSize:chunkSize]) } return append(chunks, s) } func main() { // Example usage nums := []int{1, 2, 3, 4, 5, 6, 7, 8, 9} chunked := ChunkSlice(nums, 3) fmt.Println(chunked) // Output: [[1 2 3] [4 5 6] [7 8 9]] }

Go slice chunks programming coding