#pagination #page #chunk #database #web

paginate

一个与框架无关的分页库,特别适合数据库、切片和集合。Paginate计算页面索引范围,非常适合访问切片、分块数据和查询数据库。

13个稳定版本

1.1.11 2022年4月11日
1.1.8 2022年1月21日
1.0.1 2020年3月16日

#3 in #pagination

Download history 213/week @ 2024-03-13 287/week @ 2024-03-20 225/week @ 2024-03-27 192/week @ 2024-04-03 181/week @ 2024-04-10 251/week @ 2024-04-17 166/week @ 2024-04-24 173/week @ 2024-05-01 184/week @ 2024-05-08 197/week @ 2024-05-15 130/week @ 2024-05-22 210/week @ 2024-05-29 165/week @ 2024-06-05 256/week @ 2024-06-12 216/week @ 2024-06-19 197/week @ 2024-06-26

每月879次下载
用于 wanisabi

Apache-2.0

17KB
391

一个与框架无关的分页库,特别适合数据库、切片和集合。Paginate计算页面索引范围,非常适合访问切片、分块数据和查询数据库。

项目状态

crates.io CI Docs codecov book stars - paginate forks - paginate

安装

将以下行添加到您的Cargo.toml文件中

paginate = "^1"

示例

遍历每一页

use paginate::Pages;

fn main() {
    let total_items = 100;
    let items_per_page = 5;
    let pages = Pages::new(total_items, items_per_page);
    println!("total pages: {}", pages.page_count());
    for page in pages.into_iter() {
        println!("offset: {}, total: {}, start: {}, end: {}", page.offset, page.length, page.start, page.end);
    }
}

获取特定偏移量的分页

use paginate::Pages;

fn main() {
    let total_items = 35;
    let items_per_page = 5;
    let pages = Pages::new(total_items, items_per_page);
    let page = pages.with_offset(3);
    println!("total pages: {}", pages.page_count());
    println!("offset: {}, total: {}, start: {}, end: {}", page.offset, page.length, page.start, page.end);
}

获取帮助

贡献

无运行时依赖