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 添加一个对应表 |