[스위프트] 튜플 타입 사용법

devapploper·2020년 12월 29일
0
post-thumbnail

개요

어떤 값들은 쌍으로 들어있어야하는 경우들이 있다.

2차원 좌표값이나 3차원 좌표값은 쌍으로 있을때 유의미하다.

이럴 때 튜플을 사용하면 직관적으로 "값의 묶음"을 표현할 수 있다.

let coordinates: (Int, Int) = (2,3)

튜플의 특징

튜플 역시 타입 유추 (Type Inference)가 가능하다.

각각의 위치에 다른 타입이 있어도 된다.

let coordinates = (3.2, 9) // (Double, Int)

값에 접근하는 법

튜플 타입 변수에 있는 값은 다음과 같이 0으로 시작하는 숫자로 해당 위치에 있는 값에 접근할 수 있다.

let x1 = coordinates.0 // 3.2
let y1 = coordinates.1 // 9

그러나 coordinates.0 혹은 coordinates.1 으로 표현하면 어떤 값이 들어있는지 직관적으로 알기 어렵다.

때문에 튜플에 각각에 해당하는 값의 이름을 적어주면서 사용하면 더욱 코드의 가독성을 높일 수 있다.

let coordinatesNamed = (x: 2, y: 3) // 타입 유추 - (x: Int, y: Int)

let x2 = coordinatesNamed.x 
let y2 = coordinatesNamed.y

만약 튜플의 여러 부분을 한번에 접근하고 싶다면, 다음과 같은 축약 syntax를 사용하면 편리하다.

let coordinates3D = (x: 2, y: 3, z: 1)
let (x3, y3, z3) = coordinates 3D

// 위는 다음과 완전히 동일한 작업을 한다.

let coordinates3D = (x:2, y: 3, z: 1)
let x3 = coordinates3D.x
let y3 = coordinates3D.y
let z3 = coordinates3D.z

// 만약 어떤 부분은 제외해서 사용하고 싶다면, 다음과 같이 사용하면 된다.

let (x4, y4, _) = coordinates3D 

// underscore _ 는 wildcard operator 와일드카드 연산자 라고한다
profile
app 을 dev 하는 developer. devapploper 입니다

0개의 댓글