본문으로 건너뛰기

튜플

스위프트에서 튜플은 유한하며, 쉼표로 구분하는 순서 있는 요소의 목록이다.

아래와 같이 튜플을 생성하고 튜팰 내부의 정보에 접근할 수 있다.

let mathGrade1 = ("Kim", 100)
let (name, score) = mathGrade1
print("\(name) - \(score)")

String 타입과 Int 타입을 하나의 튜플 타입으로 묶었다. 그 후 패턴 매칭pattern matching을 사용해 튜플 값을 분리해 상수 namescore 에 값을 대입했다.

let mathGrade2 = (name: "Kim", grade: 100)

튜플 작성 시 위의 예처럼 각각의 값에 이름을 부여할 수도 있다. 애플은 함수에서 여러 값을 반환하는 경우 튜플을 함수의 반환 타입으로 사용할 수 있다고 말한다.

func calculateTip(billAmount: Double, tipPercent: Double) -> (tipAmount: Double, totalAmout: Double) {
let tip = billAmount * (tipPercent/100)
let total = billAmount + tip

return (tipAmount: tip, totalAmout: total)
}

스위프트에서 튜플 타입은 값 타입이자 복합 타입이며, typealias 키워드를 사용하면 튜플에 별칭을 부여할 수 있다.

typealias myTuple = (tipAmount: Double, totalAmout: Double)