Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save figassis/85ef6f1fa333adda88b6f3cf1029aa01 to your computer and use it in GitHub Desktop.
Save figassis/85ef6f1fa333adda88b6f3cf1029aa01 to your computer and use it in GitHub Desktop.
Golang - Loop over slice in batches (run something in parallel on a sub-slice)
package main
import "fmt"
func main() {
slice := make([]int, 159)
// Split the slice into batches of 20 items.
batch := 20
for i := 0; i < len(slice); i += batch {
j := i + batch
if j > len(slice) {
j = len(slice)
}
fmt.Println(slice[i:j]) // Process the batch.
}
// Try it at https://play.golang.org/p/mgd814w8xx6
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment