go-数组分割函数
Go语言中的数组和切片都可以使用内置函数copy()
进行分割。
数组分割函数示例:
func splitArray(arr []int, size int) [][]int {
var res [][]int
for i := 0; i < len(arr); i += size {
end := i + size
if end > len(arr) {
end = len(arr)
}
res = append(res, arr[i:end])
}
return res
}
使用splitArray()
函数将一个数组分割为指定大小的多个数组:
arr := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
res := splitArray(arr, 3)
fmt.Println(res) // [[1 2 3] [4 5 6] [7 8 9]]
切片分割函数示例:
func splitSlice(slice []int, size int) [][]int {
var res [][]int
for i := 0; i < len(slice); i += size {
end := i + size
if end > len(slice) {
end = len(slice)
}
res = append(res, slice[i:end])
}
return res
}
使用splitSlice()
函数将一个切片分割为指定大小的多个切片:
slice := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
res := splitSlice(slice, 3)
fmt.Println(res) // [[1 2 3] [4 5 6] [7 8 9]]

原文地址: http://www.cveoy.top/t/topic/l1l 著作权归作者所有。请勿转载和采集!