enum AnyType {
Int(i32),
Float(f64),
Str(String),
Bool(bool),
Char(char),
}
fn accept_any_type(x: AnyType) {
match x {
AnyType::Int(v) => println!("int: {}", v),
AnyType::Float(v) => println!("float: {}", v),
AnyType::Str(v) => println!("string: {}", v),
AnyType::Bool(v) => println!("bool: {}", v),
AnyType::Char(v) => println!("char: {}", v),
}
}
fn main() {
accept_any_type(AnyType::Int(4623));
accept_any_type(AnyType::Float(3.14));
accept_any_type(AnyType::Str("ABCD".to_string()));
accept_any_type(AnyType::Bool(true));
accept_any_type(AnyType::Char('A'));
}
/*
run:
int: 4623
float: 3.14
string: ABCD
bool: true
char: A
*/