본문 바로가기
Rust

[Rust] Enum 예제 (21일차)

by 꾸압 2023. 1. 2.

 

<예제 코드_1>

#[derive(Debug)]
enum Gender{
    Male,
    Female,
}

#[derive(Debug)]
enum Info {
    // String 타입
    Name(String),
    // u32 타입
    Age(u32),
    // 구조체
    Location{x : i32, y : i32},
    // enum
    Gender(Gender)
}

fn main() {
    let name = Info::Name(String::from("Nach Folge"));
    let age = Info::Age(29);
    let location = Info::Location{ x : 132, y : 80 };
    let gender = Info::Gender(Gender::Male);

    println!("Name : {:?}", name);
    println!("Age : {:?}", age);
    println!("Location : {:?}", location);
    println!("Gender : {:?}", gender);
}

 


 

<예졔 코드_2>

#[derive(Debug)]
enum Info {
    Name(String),
}

impl Info {
    // Method 정의
    fn show(&self) {
        println!("{:?}", self);
    }

    // 연관 함수 정의
    fn new_name(s : String) -> Info {
        Info::Name(s)
    }
}

fn main() {
    // 연관 함수 호출
    let name = Info::new_name(String::from("Nach Folge"));

    // Method 호출
    name.show();
}

 


 

<참조 1> https://hyunmin1906.tistory.com/312

<참조 2>

 

 

'Rust' 카테고리의 다른 글

[Rust] Generic : Data Type 예제 (23일차)  (0) 2023.01.05
[Rust] Generic 예제 (22일차)  (0) 2023.01.04
[Rust] Guess 예제 (20일차)  (0) 2023.01.01
[Rust] Error 처리 Result 예제 (19일차)  (0) 2023.01.01

댓글