Enums can be used to make multiple types
enum Number{
U32(u32),
I32(i32),
}
fn main(){
let my_vec = vec![get_number(543), get_number(-678)];
for item in my_vec{
match item{
Number::U32(number) => println!("A u32 with the value {number}"),
Number::I32(number) => println!("An i32 with the value {number}"),
}
}
}
fn get_number(number: i32) -> Number{
match number.is_positive(){
true => Number::U32(number as 32),
false => Number::I32(number),
}
}