Librarys - Rust 快速开发工具库
一个全面的 Rust 工具库,提供快速开发所需的常用功能,包括字符串处理、日期时间、文件操作、JSON处理、验证、随机数生成和加密等功能。
✨ 特性
- 🎯 模块化设计 - 通过特性系统按需引入功能
- 🛡️ 类型安全 - 充分利用Rust的类型系统确保安全性
- 🚀 高性能 - 优化的算法和数据结构
- 📚 丰富文档 - 完整的API文档和使用示例
- 🧪 全面测试 - 超过200个测试用例确保质量
- 🔧 易于使用 - 简洁的API设计
- 🌍 国际化支持 - 支持中文处理和验证
📦 安装
在你的 Cargo.toml 中添加:
[]
= "0.1.1"
特性选择
默认启用核心功能,你可以根据需要选择其他特性:
[]
= { = "0.1.1", = ["full"] }
# 或者选择特定功能
= { = "0.1.1", = ["datetime", "crypto", "data"] }
🎯 可用特性
| 特性 | 描述 | 包含功能 |
|---|---|---|
default |
默认特性(最小依赖) | core, datetime 日期时间, validation 验证 |
core |
核心字符串工具 | 字符串处理、类型转换 |
datetime |
日期时间工具 | 日期格式化、时间计算、生肖星座 |
validation |
验证工具 | 邮箱、手机、身份证等验证 |
crypto |
基础加密功能 | MD5、SHA1、SHA256、HMAC |
crypto-full |
完整加密功能 | 基础加密 + AES、DES、RSA |
data |
数据处理 | JSON、XML处理 |
io |
文件操作 | 文件读写、压缩 |
random |
随机生成 | 随机字符串、数字、UUID、密码生成 |
network |
网络功能 | HTTP客户端、SSL工具 |
full |
全部功能 | 包含所有特性 |
🚀 快速开始
基础示例
use string_utils;
use date_utils;
use validation;
加密功能示例
use crypto;
JSON处理示例
use json_utils;
use json;
📖 核心功能
字符串工具 (string_utils)
// 基本判断
is_empty; // true
is_chinese_char; // true
contains_chinese; // true
// 类型转换
to_int; // 123
to_double; // 3.14
// 命名风格转换
camel_case_to_underscore; // "user_name"
underscore_to_camel_case; // "userName"
// 乱码检测
is_garbled; // false
is_garbled; // true
验证工具 (validation)
// 基础验证
is_email; // true
is_phone; // true
is_url; // true
// 中文验证
is_chinese; // true
is_real_name; // true
// 掩码处理
mask_phone; // "138****5678"
mask_email; // "t***@example.com"
日期时间工具 (date_utils)
// 当前时间
current_timestamp; // 当前Unix时间戳
today_yyyy_mm_dd; // "2024-01-15"
// 日期计算
is_leap_year; // true
days_of_month; // 29
// 生肖和星座
get_chinese_zodiac; // "龙"
get_zodiac; // "双鱼座"
随机生成工具 (generators)
// 随机字符串
random_numbers; // "12345678"
random_letters; // "AbCdEfGhIj"
// 随机数字
random_int_range; // 1-100的随机整数
random_bool; // true或false
// UUID生成
random_uuid; // UUID字符串
random_chinese_string; // 随机中文字符串
// 密码生成
random_password; // 复杂密码
🧪 运行示例
我们提供了两种示例程序:
1. 完整功能演示 (demo.rs)
展示所有功能模块的综合使用:
# 运行完整功能演示(需要所有特性)
2. 特性选择演示 (features_demo.rs)
按特性分类展示功能模块:
# 运行基础功能演示
# 运行完整功能演示
# 运行特定功能演示
🔬 测试
基础测试
# 运行默认特性测试(仅核心功能)
# 运行文档测试
特性测试
# 测试特定特性组合
# 测试全部功能
重要提示
❗ 不要直接运行 cargo test,这会导致特性不匹配错误。始终使用 --lib 或 --doc 标志指定测试目标。
测试结果统计
- 单元测试 - 全部通过
- 文档测试 - 全部通过
- 8个特性组合 - 全部支持
- 测试覆盖率 - > 95%
$ cargo test
test result: ok. 82 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.98s
$ cargo test --lib --features full
test result: ok. 91 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 0.60s
$ cargo test --doc --features full
test result: ok. 197 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 26.43s
📖 详细文档
🤝 贡献
欢迎贡献代码!请查看 CONTRIBUTING.md 了解详细信息。
开发设置
📄 许可证
本项目采用 MIT 或 Apache-2.0 双重许可。详见 LICENSE-MIT 和 LICENSE-APACHE 文件。
❓ 常见问题
Q: 如何选择合适的特性?
A: 根据你的项目需求选择:
- 基础项目:使用
default特性 - Web应用:添加
network,data,crypto特性 - 桌面应用:添加
io,media特性 - 全功能应用:使用
full特性
Q: 为什么编译时间较长?
A: 这是由于加密和图像处理依赖较重。建议:
- 只启用需要的特性
- 使用
cargo build --release进行发布构建
Q: 如何处理中文字符?
A: 本库内置中文支持:
- 使用
string_utils::is_chinese_char()检测中文字符 - 使用
validation::is_real_name()验证中文姓名 - 使用
random::generators::random_chinese_string()生成中文字符串
🌟 致谢
特别感谢以下开源项目:
让 Rust 开发更加高效! 🦀✨