튜플 (Tuple)
Written by Tejayon
튜플 (Tuple)
-
때때로 데이터가 2개나 3개가 들어올 경우가 있다. 예를 들면 좌표에서의 x값과 y값 같은 경우나 3D 좌표의 x, y, z좌표를 받을 때이다.
-
스위프트에서는 튜플을 통해 이러한 데이터들을 쉽게 표현할 수 있다.
-
튜플은 어떠한 타입이든 상관없이 하나 이상의 데이터를 구성하는 타입이다.
-
튜플을 사용하면 원하는 값 무엇이든지 만들 수 있다.
let point: (Int, Int) = (3, 6)
위의 코드에서 상수 point는 Int값 두개를 가지는 튜플 타입이고 타입을 쓸 때는 소괄호 안에 데이터 타입을 적고 그 사이에 콤마(,)를 찍어서 표현한다. 스위프트에서 타입을 추론하기 때문에 튜플의 데이터의 타입이 확실한 경우에는 타입을 적어 주지 않아도 된다.
-
튜플안의 값에 접근하는 방법
-
튜플 안에 각 데이터에는 참조 값이 존재한다. 따라서 값이 여러개일 경우에는 첫번째 데이터의 참조 값이 0으로 설정이 된다.
let point: (Int, Int) = (3, 6) let x = point.0 // 3 let y = point.1 // 6
따라서 데이터의 안의 값을 가져와 사용하기 위해서는 참조값(Index)값을 콤마(,)에 써서 가져올 수 있다.
-
튜플을 만들 때는 각 데이터의 이름을 설정해서 만들 수 가 있다.
let grid3DPoint: (x: Int, y: Int, z: Int) = (3, 5, 7) let x = grid3DPoint.x let y = grid3DPoint.y let z = grid3DPoint.z
이름을 설정하게 되면 값을 접근할 때에는 변수, 상수의 이름 뒤에 점 (.)을 찍고 데이터의 이름을 적으면 그 데이터에 있는 값을 가져올 수 있다.
-
-
튜플에 여러개의 데이터가 있기 때문에 어떤 경우에는 특정 한데이터는 관여하지 않아야 할 때가 있다. 그때 사용하는 것이 underbar(_)이다. 이것은 간단하게 말하면 현재상태에서는 그 데이터를 무시하겠다는 얘기다. 즉 어떤 값이 들어와도 상관이 없다는 것이다.