История изменений
Исправление Silerus, (текущая версия) :
В раст enum это уникальный тип. Его можно использовать как стандартный с/с++ enum,если нахлабучить сверху макросы PatrialEq Eq. Его можно использовать как variant или any (так он чаще всего наверное и используется). Например
enum SomeThing{
Str(String),
Num(u32),
Bool(bool)
}
И тогда данные надо вытаскивать одним из способов
let a = SomeThing::Str("hello world".to_string);
if let SomeThing::Str(val) = a{
println!("{val}");
}
match a{
SomeThing::Str(val)=>...,
SomeThing::Num(val)=>...,
_=> ...
}
Если я правильно понял, что вы спрашиваете
Исходная версия Silerus, :
В раст enum это уникальный тип. Его можно использовать как стандартный с/с++ enum,если нахлабучить сверху макросы PatrialEq Eq. Его можно использовать как variant или any (так он чаще всего наверное и используется). Например
enum SomeThing{
Str(String),
Num(u32),
Bool(bool)
}
И тогда данные надо вытаскивать одним из способов
let a = SomeThing::Str("hello world".to_string);
if let SomeThing::Str(val) = a{
println("{a}");
}
match a{
SomeThing::Str(val)=>...,
SomeThing::Num(val)=>...,
_=> ...
}
Если я правильно понял, что вы спрашиваете