복잡한 데이터 형
Array
[ ]
대괄호로 표시함
let john = "John Hey"
let tom = "Tom Guy"
let they = [john, tom]
they[1] // Tom Guy 어레이는 0번부터 시작
Sets
어레이와 같은 집합인데,
- 순서가 없다.
- 2번 반복되지 않는다.
let colors = Set(["white", "blue", "red", "red"]) // 이렇게 선언해도 red 는 한번만 들어간다.
Tuples
집합체인데, 아이템을 넣거나 뺄수 없다.
아이템의 타입을 변경할 수 없다.
이름이나, 위치값으로 조회할 수 있다.
var name = (first: "유럽", last: "칼새")
name.0 // "유럽"
name.last // "칼새"
어레이, 셋츠, 튜플 사용예.
주소처럼 정해진 집합체의 경우, tuples 를 사용
let address = (house: 555, street: "창업로", city: "경기도")
중복되지 않아야 하고, 아이템이 있는지 빠르게 체크할 경우 Set 사용
let sets = Set(["brown", "white", "green"])
sets.contains("brown") // true
중복이 있고, 순서가 중요한 경우 array 사용 (범용적으로 사용)
let they = ["갑순이", "갑돌이", "길동이", "길동이"]
dictionary
어레이와 유사하지만, key를 지정하여 사용
let rating = [
"슈퍼맨": 4.5,
"캡틴마블": 4.4
]
rating["슈퍼맨"] // 4.5
dictionary 의 기본값 지정 가능
let rating = [
"슈퍼맨" : 4.5,
"캡틴마블" : 4.4
]
rating["원더우먼", default: -1] // -1 default 를 지정하지 않으면 nil 반환
빈 딕셔너리 선언 방법
var teams = [String: String]()
teams["어벤저스"] = "마블"
teams["저스티스리그"] = "DC"
print(teams) // "["어벤저스": "마블", "저스티스리그": "DC"]\n"
빈 어레이 선언방법
var items = [Int]()
items = [3,1,4]
items.append(1)
items = items + [5,9,2]
print(items) // "[3, 1, 4, 1, 5, 9, 2]\n"
어레이와 딕셔너리는 대 괄호로 빈 집합체를 생성하고,
Set은 꺽은 괄호로 빈 집합체를 생성합니다.
var colors = Set<String>()
colors = ["Pink", "Pinky", "Pink"]
print(colors)
만약 가독성을 위해 꺽은 괄호로 생성하고 싶다면, 아래와 같이 합니다.
var color = Set<String>()
var colorful = Array<String>()
var colorChip = Dictionary<String, Int>()
color = ["Pink", "Pinky", "Pink"]
colorful = ["Pink", "Pinky", "Pink"]
colorChip = ["Pink":33, "Pinky":34]
Enum 형식
나만의 사용하기 편리한 방법으로 사용하고 싶을 때,
예를 들면,
enum Result {
case Success
case Failure
}
let ret = Result.Success
enum의 경우 결합된 값을 지정할 수 있는데, 아래와 같습니다.
enum Activity {
case bored
case running(destination: String)
case talking(topic: String)
case singing(volume: Int)
}
let tomActivity = Activity.talking(topic: "History")
enum 에 숫자를 부여하고 싶을때,
enum Planet: Int {
case mercury = 1
case venus
case earth
case mars
}
상기와 같이 하면, 순차적으로 1번부터 숫자가 부여됩니다. mars 는 4가 됩니다.
0 comments:
댓글 쓰기