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]]
go-数组分割函数

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

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