Jupyo's Daily Story
튜플 (Tuples) 본문
728x90
반응형
튜플(Tuple)은 여러 값을 하나의 그룹으로 묶는 데이터 타입입니다. 서로 다른 타입의 값들을 하나로 결합할 수 있어, 함수에서 여러 값을 반환하거나 임시적으로 데이터를 묶어야 할 때 유용합니다.
튜플 선언 및 사용
아래 예제는 문자열과 정수를 묶어 하나의 튜플로 정의한 것입니다.
let person = ("John", 25)
타입을 명시하는 경우
let person: (String, Int) = ("John", 25)
원하는 만큼 타입 포함 가능
let person: (String, Int, Float) = ("John", 25, 175.8)
튜플의 값 접근
튜플에 저장된 값은 분배, 인덱스 또는 이름으로 접근할 수 있습니다.
분배 (Decompose)
let (name, age, _) = person
print(name) // "John"
print(age) // 25
- 일부만 필요한 경우 분해할 때 밑줄(_)로 일부를 무시할 수 있습니다.
인덱스 접근
let name = person.0 // "John"
let age = person.1 // 25
이름으로 값 지정
let person = (name: "John", age: 25)
print(person.name) // "John"
print(person.age) // 25
튜플 활용
- 다중 반환값 처리: 튜플을 통해 함수에서 여러 값을 반환할 수 있습니다.
func getUserInfo() -> (String, Int) {
return ("Alice", 30)
}
let userInfo = getUserInfo()
print(userInfo.0) // "Alice"
튜플의 특징
- 튜플은 불변: 튜플은 let으로 선언하면 수정할 수 없습니다.
- 구조체(struct)와 차이점: 튜플은 단순히 값의 그룹을 나타내는 반면, 구조체는 더 복잡한 데이터 타입을 나타냅니다.
튜플과 배열의 차이
- 배열은 동일한 타입의 값만 포함할 수 있지만, 튜플은 서로 다른 타입의 값도 포함할 수 있습니다.
- 배열은 동적 크기를 가질 수 있지만, 튜플의 크기는 고정되어 있습니다.
튜플은 간단하게 여러 값을 한 번에 다룰 수 있는 데이터 구조로, 다중 반환값이나 임시 데이터를 처리할 때 유용하게 사용할 수 있습니다. 하지만 구조체처럼 복잡한 데이터 모델을 표현하기에는 적합하지 않습니다.
반응형
'Swift' 카테고리의 다른 글
Concurrency (async/await) (3) | 2024.09.26 |
---|---|
GCD (Grand Central Dispatch) (1) | 2024.09.25 |
Announcing Swift 6 (2) | 2024.09.23 |
옵셔널 (Optional) (2) | 2024.09.22 |
열거형 (Enumeration) (0) | 2024.09.19 |