728x90
728x170
■ enum 키워드를 사용해 열거형을 만드는 방법을 보여준다.
▶ 예제 코드 (RS)
enum Currency
{
Currency100(isize),
Currency500(isize),
Currency1000(isize),
Currency5000(isize),
Currency10000(isize),
Currency50000(isize)
}
impl Currency
{
fn calculate_amount(&self) -> isize
{
match *self
{
Currency::Currency100 (value) => value * 100,
Currency::Currency500 (value) => value * 500,
Currency::Currency1000 (value) => value * 1000,
Currency::Currency5000 (value) => value * 5000,
Currency::Currency10000(value) => value * 10000,
Currency::Currency50000(value) => value * 50000
}
}
}
fn main()
{
let currency_vector : Vec<Currency> = vec!
[
Currency::Currency100(3),
Currency::Currency500(2),
Currency::Currency1000(6),
Currency::Currency5000(1),
Currency::Currency10000(8),
Currency::Currency50000(3)
];
let total_amount : isize = currency_vector.iter().fold(0, |total_amount, v| total_amount + v.calculate_amount());
println!("전체 금액 : {}", total_amount);
}
728x90
그리드형(광고전용)
'Rust > Common' 카테고리의 다른 글
[RUST/COMMON] 단일 파일에서 다수 모듈 사용하기 (0) | 2023.05.24 |
---|---|
[RUST/COMMON] 선형 합동법 알고리즘을 사용해 난수 생성하기 (0) | 2023.05.24 |
[RUST/COMMON] Option<T> 열거형과 match문을 사용하기 (0) | 2023.05.23 |
[RUST/COMMON] match문 : 매치 가드 사용하기 (0) | 2023.05.23 |
[RUST/COMMON] match문 : 패턴 매칭을 사용해 FizzBuzz 문제 풀기 (0) | 2023.05.23 |
[RUST/COMMON] Iterator 트레잇 : for_each 메소드 사용하기 (0) | 2023.05.22 |
[RUST/COMMON] Iterator 트레잇 : take 메소드 사용하기 (0) | 2023.05.22 |
[RUST/COMMON] Iterator 트레잇 : enumerate 메소드 사용하기 (0) | 2023.05.22 |
[RUST/COMMON] Iterator 트레잇 : 피보나치 수열을 구하는 반복자 만들기 (0) | 2023.05.22 |
[RUST/COMMON] Iterator 트레잇 : 소수를 구하는 반복자 만들기 (0) | 2023.05.22 |