Enums

enum ํ‚ค์›Œ๋“œ๋Š” ์—ด๊ฑฐํ˜• ํƒ€์ž…์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค:

The enum keyword allows the creation of a type which has a few different variants:

fn generate_random_number() -> i32 {
    4  // Chosen by fair dice roll. Guaranteed to be random.
}

#[derive(Debug)]
enum CoinFlip {
    Heads,
    Tails,
}

fn flip_coin() -> CoinFlip {
    let random_number = generate_random_number();
    if random_number % 2 == 0 {
        return CoinFlip::Heads;
    } else {
        return CoinFlip::Tails;
    }
}

fn main() {
    println!("You got: {:?}", flip_coin());
}

์—ญ์ฃผ

  • variants: ์—ด๊ฑฐํ˜•์˜ ์š”์†Œ๋“ค์„ ๋งํ•ฉ๋‹ˆ๋‹ค ์—ด๊ฑฐํ˜•์˜ ๊ฐ’์€ variants์ค‘ ํ•˜๋‚˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.