Swift/책 정리
[Swift] 데이터 타입 고급(1) - 타입 별칭, 튜플
아잉으니야
2021. 1. 7. 21:00
[Swift] 데이터 타입 고급(1) - 타입 별칭, 튜플
이 글은 Swift 프로그래밍 책을 읽고 요약한 내용입니다
타입 별칭
- 스위프트에서는 기본으로 제공하는 데이터 타입이든, 사용자가 임의로 만든 데이터 타입이든 이미 존재하는 데이터 타입에 임의로 다른 이름(별칭)을 부여할 수 있음 (기본 타입 이름과 이후에 추가한 별칭 모두 사용 가능)
typealias MyInt = Int
typealias YourInt = Int
typealias MyDouble = Double
let age: MyInt = 100 // MyInt는 Int의 또 다른 이름
var year: YourInt = 2080 // YourInt도 Int의 또 다른 이름
// MyInt도, YourInt도 Int이기 때문에 같은 타입으로 취급
year = age
let month: Int = 7 // 기존의 Int도 사용 가능
let percentage: MyDouble = 99.9 // Int 외에 다른 자료형도 모두 별칭 사용이 가능
튜플(Tuple)
튜플(Tuple) : 타입의 이름이 따로 지정되어 있지 않은 프로그래머 마음대로 만드는 타입
'지정된 데이터의 묶음'이라고도 표현함
- 파이썬의 튜플과 유사
- 튜플은 타입 이름이 따로 없으므로 일정 타입의 나열만으로 튜플 타입을 생성해줄 수 있음
- 튜플에 포함될 데이터의 개수는 자유롭게 정할 수 있음
// String, Int, Double 타입을 갖는 튜플
var person: (String, Int, Double) = ("seonho", 36, 183.5)
// 인덱스를 통해서 값을 빼 올 수 있음
print("이름: \(person.0), 나이: \(person.1), 신장: \(person.2)")
/* 이름: seonho, 나이: 36, 신장: 183.5 */
person.1 = 99 // 인덱스를 통해 값을 할당할 수 있음
person.2 = 178.5
print("이름: \(person.0), 나이: \(person.1), 신장: \(person.2)")
/* 이름: seonho, 나이: 99, 신장: 178.5 */
- 튜플의 요소마다 이름을 붙여줄 수 있음
// String, Int, Double 타입을 갖는 튜플
var person: (name: String, age: Int, height: Double) = ("seonho", 36, 183.5)
// 요소 이름을 통해서 값을 빼 올 수 있음
print("이름: \(person.name), 나이: \(person.age), 신장: \(person.height)")
/* 이름: seonho, 나이: 36, 신장: 183.5 */
person.age = 99 // 요소 이름을 통해 값을 할당할 수 있음
person.2 = 178.5 // 인덱스를 통해서도 값을 할당할 수 있음
// 기존처럼 인덱스를 이용하여 값을 빼 올 수도 있음
print("이름: \(person.0), 나이: \(person.1), 신장: \(person.2)")
/* 이름: seonho, 나이: 99, 신장: 178.5 */