7 个版本
0.1.6 | 2024 年 5 月 19 日 |
---|---|
0.1.5 | 2024 年 5 月 19 日 |
#19 在 #扩展
每月 253 次下载
6KB
exstd
exstd
是一个 Rust 库,提供了一组用于 Rust 标准库的常用扩展。它包含了许多流行的 crate,涵盖序列化、异步编程、HTTP 请求、日志记录、错误处理等功能。
特性
- 序列化:使用
serde
、serde_json
和serde_yaml
轻松进行序列化和反序列化。 - 异步编程:利用
tokio
进行异步编程。 - HTTP 请求:使用
reqwest
执行 HTTP 请求。 - 日志记录:使用
log
和env_logger
实现日志记录。 - 日期和时间:使用
chrono
处理日期和时间。 - 正则表达式:使用
regex
使用正则表达式。 - 命令行界面:使用
clap
解析命令行参数。 - 环境变量:使用
dotenvy
管理环境变量。 (dotenv 项目已废弃) - 有序映射:使用 indexmap 进行有序映射和集合,这可以保持插入顺序。这对于元素的顺序对应用程序很重要时非常有用。
- 并行处理:利用 rayon 进行数据并行处理。rayon 通过 Rust 强大的类型系统和并发模型,使并行计算变得简单。
- 随机数生成:使用 rand 生成随机数。rand 提供了各种随机数生成器和分布,适用于各种应用程序,包括模拟和游戏。
安装
将 exstd
添加到您的 Cargo.toml
[dependencies]
exstd = "0.1.4"
用法
以下是如何在项目中使用 exstd 的示例
extern crate exstd;
use exstd::serde::{Serialize, Deserialize};
use exstd::tokio::main as tokio_main;
use exstd::reqwest::get;
use log::info;
use anyhow::Result;
#[derive(Serialize, Deserialize, Debug)]
struct MyStruct {
name: String,
age: u32,
}
#[tokio_main]
async fn main() -> Result<()> {
env_logger::init();
let my_struct = MyStruct {
name: "John Doe".to_string(),
age: 30,
};
let json = serde_json::to_string(&my_struct)?;
info!("Serialized JSON: {}", json);
let response = get("https://httpbin.org/get").await?.text().await?;
info!("HTTP GET Response: {}", response);
Ok(())
}
依赖项
~13–26MB
~406K SLoC