128 字
1 分钟
Rust Enum 宏
[dependencies]strum = "0.26"#[derive(Debug, EnumString, Display, VariantNames, AsRefStr)]pub enum Target { #[strum(serialize = "android")] Android, #[strum(serialize = "ios")] Ios, #[strum(serialize = "mac")] Mac, #[strum(serialize = "linux")] Linux, #[strum(serialize = "windows")] Windows,}| Macro | Description |
|---|---|
| [EnumString] | 解析 String 为 Enum |
| [Display] | 转换 Enum 为 String |
| [FromRepr] | 解析 int 为 Enum |
| [AsRefStr] | 生成 as_ref() |
| [IntoStaticStr] | 生成 &'static str |
| [EnumIter] | 生成 Enum 迭代器 |
| [EnumProperty] | 为 Enum 添加自定义属性 |
| [EnumMessage] | 为 Enum 添加详细信息 |
| [EnumDiscriminants] | 为 Enum 添加 Discriminant |
| [EnumCount] | 为 Enum 添加 COUNT: usize 常量 |
| [VariantArray] | 为 Enum 添加 VARIANTS: &'static [Self] 常量 |
| [VariantNames] | 为 Enum 添加 VARIANTS: &'static [&'static str] 常量 |
| [EnumTable] | 实验性,为 Enum 添加一个对应表 |
Rust Enum 宏
https://blog.lpkt.cn/posts/rust-enum-macro/