[스위프트]데이터 타입_튜플이란?(정의, 요소 이름/별칭 지정 방법)
Swift 스위프트 문법: 데이터 타입_튜플이란?(정의, 요소 이름/별칭 지정 방법)
■ 튜플이란?
튜플(Tuple)은 프로그래머가 마음대로 만든 타입입니다. C언어로 예를 들면 원시 구조체의 형태와 가깝습니다. 튜플은 타입 이름이 따로 없으므로 일정 타입의 나열만으로 튜플 타입을 생성해줄 수 있습니다. 튜플에 포함될 데이터의 개수는 자유롭습니다.
튜플의 각 요소를 이름 대신 숫자로 표현합니다. 그래서 인덱스만으로 값을 가져오고, 할당할 수 있습니다.
예제코드
import UIKit
//String, Int, Double 타입을 같는 튜플
var puppy: (String, Int, Double) = ("Zeno", 3, 20.4)
//인덱스를 통해 값을 가져올 수 있습니다.
print("2019년 - 이름: \(puppy.0) 나이: \(puppy.1) 신장: \(puppy.2)")
//인덱스를 통해 값을 할당할 수 있습니다.
puppy.1 = 4
puppy.2 = 25.1
print("2020년 - 이름: \(puppy.0) 나이: \(puppy.1) 신장: \(puppy.2)")
■ 튜플 요소 이름 지정
튜플의 각 요소를 인텍스로 접근하면 나중에 다른 프로그래머가 코드만으로 의미를 유추하기 어렵습니다. 그래서 튜플의 요소마다 이름을 붙여줄 수 있습니다.
예제 코드
import UIKit
//String, Int, Double 타입을 같는 튜플
var puppy: (name: String, age: Int,height: Double) = ("Zeno", 3, 20.4)
//요소 이름을 통해 값을 가져올 수 있습니다.
print("2019년 - 이름: \(puppy.name) 나이: \(puppy.age) 신장: \(puppy.height)")
//요소 이름을 통해 값을 할당할 수 있습니다.
puppy.age = 4
puppy.height = 25.1
print("2020년 - 이름: \(puppy.name) 나이: \(puppy.age) 신장: \(puppy.height)")
■ 튜플 요소 별칭 지정
튜플에는 타입 이름에 해당하는 키워드가 없습니다. 그래서 같은 모양의 튜플을 여러번 사용하고 싶을 때 긴 튜플 타입을 모두 써줘야 하는 불편함이 생깁니다. 이럴 때 타입 별칭을 사용하면 됩니다.
--------------------------------------
--------------------------------------