golang 数组分割成多个数组
可以通过循环遍历原始数组,将其分割成多个子数组,每个子数组的长度为指定的大小。代码示例如下:
func splitArray(arr []int, chunkSize int) [][]int {
var result [][]int
for i := 0; i < len(arr); i += chunkSize {
end := i + chunkSize
if end > len(arr) {
end = len(arr)
}
result = append(result, arr[i:end])
}
return result
}
在上面的代码中,我们使用了循环遍历原始数组,并通过 append 函数将每个子数组添加到结果数组中。在每次循环迭代中,我们计算出子数组的起始和结束位置,并通过切片操作将其从原始数组中提取出来。
调用 splitArray 函数,可以将一个长度为 n 的数组分割成多个长度为 chunkSize 的子数组。如果 n 不能被 chunkSize 整除,最后一个子数组的长度可能小于 chunkSize。
arr := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
result := splitArray(arr, 3)
fmt.Println(result) // [[1 2 3] [4 5 6] [7 8 9]]
原文地址: https://www.cveoy.top/t/topic/ukA 著作权归作者所有。请勿转载和采集!