数组分页

2019-07-09  本文已影响0人  funcx
// 数组分页
func PageData(xs interface{}, page, item int) (interface{}, int) {
    fv := reflect.ValueOf(xs)
    if fv.Kind() != reflect.Slice {
        panic("切片分页元数据必须为切片")
    }
    if page == 0 { //第0页返回所有
        return xs, fv.Len()
    }
    data := []interface{}{}
    for i := Skip(page, item); i < fv.Len() && i < Skip(page, item)+Limit(page, item); i++ {
        data = append(data, fv.Index(i).Interface())
    }
    return data, fv.Len()
}
上一篇 下一篇

猜你喜欢

热点阅读