Below code talks more :)
package main
import (
"fmt"
)
func main() {
arr := []int{1, 2, 3, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9}
limit := 5
for i := 0; i < len(arr); i += limit {
batch := arr[i:min(i+limit, len(arr))]
fmt.Println(batch)
}
}
func min(a, b int) int {
if a <= b {
return a
}
return b
}
Above code split an array into multiple chunks based on the chunk size.
Why can't i use math.Min
?
Because golang Math function mainly supports float64
instead of int and one more disadvantage of golang is not having support of generics
Looks like go is getting support of generics
in go 2.0
.
Top comments (0)