반응형
튜플은 러스트에서 서로 다른 데이터 타입들을 하나의 묶음으로 결합할 수 있는 데이터 타입입니다. 튜플은 고정된 길이를 가지며, 각 요소의 타입이 다를 수 있습니다. 튜플은 소괄호 ()
를 사용하여 정의하고, 각 요소는 쉼표로 구분됩니다.
튜플의 특징
- 서로 다른 타입의 값을 가질 수 있습니다.
- 길이가 고정되어 있습니다. 즉, 한 번 정의된 튜플의 길이는 변경할 수 없습니다.
- 튜플의 요소는 인덱스로 접근할 수 있습니다.
예제 코드
fn main() {
// 튜플 정의
let person: (&str, i32, f64) = ("Alice", 30, 65.5);
// 튜플의 요소에 접근
println!("Name: {}", person.0); // "Alice"
println!("Age: {}", person.1); // 30
println!("Weight: {}", person.2); // 65.5
// 튜플의 요소를 해체(Destructuring)
let (name, age, weight) = person;
println!("Name: {}, Age: {}, Weight: {}", name, age, weight);
}
설명
- 튜플 정의:
let person: (&str, i32, f64) = ("Alice", 30, 65.5);
- 여기서
person
은(&str, i32, f64)
타입의 튜플입니다. - 각 요소는 문자열(
&str
), 정수(i32
), 부동 소수점 숫자(f64
)로 이루어져 있습니다.
- 여기서
- 튜플의 요소에 접근:
person.0
,person.1
,person.2
와 같이 인덱스를 사용하여 접근할 수 있습니다. - 튜플 해체(Destructuring):
let (name, age, weight) = person;
와 같이 튜플의 각 요소를 변수에 할당할 수 있습니다. 이 방법은 튜플의 요소를 더 직관적으로 다룰 수 있게 해줍니다.
유용한 튜플 활용 예시
- 함수에서 여러 값을 반환할 때 튜플을 사용하면 유용합니다.
fn calculate_area_and_perimeter(width: f64, height: f64) -> (f64, f64) {
let area = width * height;
let perimeter = 2.0 * (width + height);
(area, perimeter)
}
fn main() {
let (area, perimeter) = calculate_area_and_perimeter(5.0, 3.0);
println!("Area: {}, Perimeter: {}", area, perimeter);
}
이 예제에서 calculate_area_and_perimeter
함수는 튜플을 사용하여 두 개의 값을 반환합니다.
반응형
'언어 > Rust' 카테고리의 다른 글
[ Rust ] fn - 함수를 사용해서 코드 재활용 하기 (1) | 2024.10.23 |
---|---|
[ Rust ] arrays - 동일한 데이터 타입을 묶어서 사용하기 (0) | 2024.10.23 |
[ Rust ] 유리수, 복소수, 없는 값 (null) 타입 (0) | 2024.09.08 |
[ Rust ] 러스트는 비교시 타입이 달라서 에러가 난 경우 (0) | 2024.09.08 |
[ Rust ] 숫자 타입 - 스칼라 수를 표현할 수 있는 러스트 타입 (0) | 2024.09.08 |