튜플(Tuple)은 타입의 이름이 따로 지정되어 있지 않은 ,프로그래머 마음대로 만드는 타입입니다.
스위프트의 튜플은 파이썬의 튜플과 유사합니다
아래의 코드는 튜플 생성 및 사용 예제입니다.
// String, Int, Double 타입을 갖는 튜플
var person: (String, Int, Double) = ("kobe", 100, 180.3)
// 인덱스를 통해서 값을 빼 올 수 있습니다.
print("이름: \\(person.0), 나이: \\(person.1), 신장: \\(person.2)")
person.1 = 99 // 인덱스를 통해 값을 할당할 수 있다.
person.2 = 198
print("이름: \\(person.0), 나이: \\(peron.1), 신장: \\(person.2)")
위 코드에서 튜플의 각 요소를 이름 대신 숫자로 표현하기 때문에 간편해 보일 수 있지만, 차후에 다른 프로그래머가 코드를 볼 때 각 요소가 어떤 의미가 있는지 유추하기가 어렵습니다.
아래의 코드에서는 튜플의 요소마다 이름을 붙여봤습니다.
// String, Int, Double 타입을 갖는 튜플
var person: (name: String, age: Int, height: Double) = ("kobe", 100, 180.3)
// 요소 이름을 통해서 값을 빼 올 수 있다.
print("이름 : \\(person.name), 나이 : \\(person.age), 신장: \\(person.height)")
person.age = 99 // 요소 이름을 통해 값을 할당할 수 있다.
person.2 = 198.5 // 인덱스를 통해서도 값을 할당할 수 있다.
// 기존처럼 인덱스를 이용하여 값을 빼 올 수도 있다.
print("이름: \\(person.0), 나이: \\(person.1), 신장: \\(person.2)")
튜플에는 타입 이름에 해당하는 키워드가 따로 없다 보니 사용에 불편한을 겪기도 합니다.