可以通过循环遍历原始数组,将其分割成多个子数组,每个子数组的长度为指定的大小。代码示例如下:

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]]
golang 数组分割成多个数组

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

免费AI点我,无需注册和登录