'enum Var {
string(String),
int32(i32)
// enum is used to be PascalCase
}
impl From<String> for Var {
fn from(x:String) -> Self {
Var::string(x)
}
}
impl From<i32> for Var {
fn from(x:i32) -> Self {
Var::int32(x)
}
}
fn f(x: Var) {
match x {
Var::string(s) => {
println!("String: {}", s);
},
Var::int32(i) => {
println!("i32: {}", i);
}
}
}
fn main() {
f( 123.into() );
f( "strrrrrrr".to_string().into() );
}
댓글 0