<ao> | Adetunji's Blog

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),
	}
}

#note #rust