열거형
- 같은 주제로 연관된 데이터들을멤버로 구성하여 나타내는 자료형
- 공통된 주제에 대해서 정해놓은 입력 값만 선택해서 받고 싶을 때 사용 하는 것
정의
원시값(Raw Value) X
enum Position {
case warrior
case sorceress
case healer
}
let player: Position = .warrior
원시값 (Raw Value) O
enum Position: Int {
case warrior
case sorceress
case healer
case warrior
case sorceress = 4
case healer
}
연관값 (Associated Values)
enum Monster: String {
case goblin = "hp: 100, atk: 10"
case boss = "hp: 10000, atk:100"
}
enum Monster {
case goblin(hp: Int, atk: Int)
case boss(hp: Int, atk: Int)
}
연관값 열거형 생성
let monster: Monster = .goblin(hp: 100, atk: 10)
switch monster {
case .goblin(hp: 20, atk: 10):
print("Lv1 고블린")
case .goblin(hp: 100, _):
print("고기방패")
case .goblin(hp: 100, atk: 10):
print("lv5 고블린")
case .boss(let hp, let atk):
print("\(hp), \(atk) 끝판왕")
case .goblin:
print("걍 고블린")
}