Search
Duplicate

튜플 (Tuple)

생성일
2023/10/08 04:28
태그
Grammar

튜플 (Tuple)

튜플은 Swift 언어에서 가장 강력한 기능 중 하나이다.

 여러 값을 하나의 개체에 일시적으로 묶는 방법

튜플에 저장되는 항목들은 어떠한 타입도 될 수 있으며, 저장된 값들이 모두 동일한 타입이어야 한다는 제약도 없다.
ex)
let myTuple = (10, 12.1, "Hi") print(type(of: myTuple)) // (String, Int, Double).Type
Swift
복사
이런식으로 괄호 안에 원하는 타입을 나열해서 쓰는 것이 튜플이다.
튜플의 요소들은 여러 다른 방법들을 사용하여 접근할 수 있다.
또한 특정 튜플 값은 인덱스 위치를 참조하면 간단하게 접근 가능하다!
맨 첫 번째 값은 인덱스 0
인덱스 2위치를 추출하고, 그 값을 새로운 문자열 변수에 할당
let myTuple = (10, 12.1, "Hi") var myString = myTupe.2 print(myString) // Hi
Swift
복사
튜플에 저장된 값에 접근하려면 .(dot) 문법을 사용한다.
단 한 줄의 코드로 튜플의 모든 값을 추출하여 변수 또는 상수에 할당이 가능하다.
let myTuple = (10, 12.1, "Hi") let (myInt, myFloat, myString) = myTuple
Swift
복사
튜플의 값을 선택적으로 추출하는 데 사용될 수 있으며, 무시하고 싶은 값에 밑줄(_)을 사용하면 그 값은 무시한다.
var (myInt, _, myString) = myTuple
Swift
복사
튜플을 생성할 때, 각 값에 이름을 할당할 수도 있다.
let myTuple = (count: 10, length: 12.1, message: "Hi")
Swift
복사
튜플에 저장된 값에 할당된 이름은 각 값을 참조하는데 사용한다.
print(myTuple.message) // Hi
Swift
복사
튜플의 가장 강력한 점은 함수에서 여러 값들을 한 번에 반환할 수 있다는 점이다!

 튜플 분해

Decomposition 문법 사용

let (name, age, height) = hj
Swift
복사
차례대로 name, age, height 3r개를 생성하고, 튜플 멤버 값을 순서대로 저장한다.

 Tuple Matching

Switch문은 Tuple Matching, Interval Matching을 지원한다.
let resolution = (3840.0, 2160.0) switch resolution { case (3840, 2160): print("4K") default: break } switch resolution { case (3840...4096, 2160): print("4K") default: break }
Swift
복사

 Reference