关于go:go-泛型的使用

泛型参考文章:
https://blog.csdn.net/qq_4206…

实现批量切片性能, 相似 php array_chunk()函数
func ArrayChunk[T any](s []T, size int) [][]T {
    if size < 1 {
        panic("size: cannot be less than 1")
    }
    length := len(s)
    chunks := int(math.Ceil(float64(length) / float64(size)))
    var n [][]T
    for i, end := 0, 0; chunks > 0; chunks-- {
        end = (i + 1) * size
        if end > length {
            end = length
        }
        n = append(n, s[i*size:end])
        i++
    }
    return n
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理