Rust
[Rust] Enum 예제 (21일차)
꾸압
2023. 1. 2. 12:58
<예제 코드_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>