<예제 코드_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 |
댓글