데이터 타입 고급

[목차]

  1. 타입 별칭(typealias)
  2. 튜플(Tuple)
  3. 컬렉션 타입
    1. 배열(Array)
    2. 딕셔너리(Dictionary)
    3. 세트(Set)

1. 타입 별칭(typealias)

이미 존재하고 있는 데이터 타입에 임의로 별칭을 부여해 사용할 수 있다. (기존 데이터 타입, 별칭 데이터 타입 모두 사용 가능)

typealias MyInt = Int
typealias YourInt = Int

let age: MyInt = 100
var year: YourInt = 2080
year = age

let month: Int = 7

2. 튜플(Tuple)

개발자 마음대로 만드는 타입. 타입명은 따로 없어 일정 타입의 나열해서 튜플 타입을 생성한다.

[코드 1 - 튜플 기본]

var person: (String, Int, Double) = ("Jabba", 39, 172.2)

// 값은 배열처럼 인덱싱을 통해 꺼내 쓸 수 있다.
print("이름: \(person.0), 나이: \(person.1), 키: \(person.2)")

// 입력도 가능하다.
person.0 = "Lee"
person.1 = 38
person.2 = 175

[코드 2 - 튜플 요소에 이름 붙이기]

var person: (name: String, age: Int, height: Double) = ("Jabba", 39, 172.2)

// 요소의 이름을 통해서 값을 꺼내 쓸 수 있다.
print("이름: \(person.name),나이: \(person.age),키: \(person.height)")

// 입력도 당연히 가능
person.name = "Lee"
person.age = 38
person.height = 175

[코드 3 - 튜플 타입에 별칭(typealias) 붙여 사용하기]

typealias PersonTuple = (name: String, age: Number, height: Double)

let jabba: PersonTuple = ("Jabba", 39, 172.2)
let woon: PersonTuple = ("Woon", 29, 156.1)

print("이름: \(jabba.name),나이: \(jabba.age),키: \(jabba.height)")
print("이름: \(woon.name),나이: \(woon.age),키: \(woon.height)")

3. 컬렉션 타입

3.1 배열(Array)

주의 : 스위프트의 Array

스위프트의 배열은 C 언어 또는 JAVA의 배열과는 다른 형태의 타입이다. 스위프트의 Array는 Linked-List의 형태이다.

[주요 프로퍼티 1]

프로퍼티 설명
array.isEmpty 비어있는 배열인지 확인
array.count 배열 안 요소의 개수 확인

[코드 - 배열의 선언과 생성]

// 배열 생성
var names: Array<String> = ["Jabba", "Woon", "Kim"]

// Array<Int> == [Int]
var heights: [Int] = [172, 180, 182]

// 빈 배열 생성
var emptyArray: [Any] = [Any]()
var emptyArray2: Array<Any> = Array<Any>()
var emptyArray3: [Any] = []

print(emptyArray.isEmpty)    // true 출력
print(names.count)           // 3 출력

[주요 프로퍼티 2]

프로퍼티 설명
array.first 배열의 맨 처음 요소 값을 리턴한다.
array.last 배열의 마지막 요소 값을 리턴한다.
array.index(of: 요소 값) 요소 값의 인덱스를 리턴한다.
array.append(_:) 맨 뒤에 요소를 추가한다.
array.insert(_:at:인덱스) 중간에 요소를 추가한다.
array.remove(at:인덱스) 인덱스에 해당하는 요소 값이 삭제된 후 리턴한다.
array.removeFirst() 가장 처음 요소 값을 삭제한다.
array.removeLast() 가장 마지막 요소 값을 삭제한다.

3.2 딕셔너리(Dictionary)

3.3 세트(Set)

results matching ""

    No results matching ""