#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 · Rust 包仓库 213/week @ 2024-03-13 · Rust 包仓库 287/week @ 2024-03-20 · Rust 包仓库 225/week @ 2024-03-27 · Rust 包仓库 192/week @ 2024-04-03 · Rust 包仓库 181/week @ 2024-04-10 · Rust 包仓库 251/week @ 2024-04-17 · Rust 包仓库 166/week @ 2024-04-24 · Rust 包仓库 173/week @ 2024-05-01 · Rust 包仓库 184/week @ 2024-05-08 · Rust 包仓库 197/week @ 2024-05-15 · Rust 包仓库 130/week @ 2024-05-22 · Rust 包仓库 210/week @ 2024-05-29 · Rust 包仓库 165/week @ 2024-06-05 · Rust 包仓库 256/week @ 2024-06-12 · Rust 包仓库 216/week @ 2024-06-19 · Rust 包仓库 197/week @ 2024-06-26 · Rust 包仓库

每月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);
}

获取帮助

贡献

无运行时依赖