튜플
스위프트에서 튜플은 유한하며, 쉼표로 구분하는 순서 있는 요소의 목록이다.
아래와 같이 튜플을 생성하고 튜팰 내부의 정보에 접근할 수 있다.
let mathGrade1 = ("Kim", 100)
let (name, score) = mathGrade1
print("\(name) - \(score)")
String 타입과 Int 타입을 하나의 튜플 타입으로 묶었다.
그 후 패턴 매칭pattern matching을 사용해
튜플 값을 분리해 상수 name 과 score 에 값을 대입했다.
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)