let first : Int = 5
let second : Int = 7
if first > second {
print("first > second")
} else if first < second {
print("first < second")
} else {
print("first == second")
}
let integerValue: Int = 5
switch integerValue {
case 0:
print("Value == zero")
case 1...10:
print("Value == 1~10")
fallthrough
case Int.min..<0, 101..<Int.max:
print("Value < 0 or Value > 100")
break
default:
print("10 < Value <= 100")
}
switch 구문의 입력 값으로 숫자 표현이 아닌 문자, 문자열, 열거형, 튜플, 범위, 패턴이 적용 된 타입 등 다양한 타입의 값도 사용 가능합니다.
let stringValue : String = "Liam Neeson"
switch stringValue{
case "yagom":
print("He is yagom")
case "Jay":
print("He is Jay")
case "Jenny", "Joker", "Nova":
print("He or She is \(stringValue)")
default:
print("\(stringValue) said 'I don't know who you are'")
case 뒤에는 꼭 실행 가능한 코드가 위치해야 합니다.
where 키워드를 사용하여 case의 조건을 확장할 수 있습니다.
let 직급: String = "사원"
let 연차: Int = 1
let 인턴인가: Bool = false
switch 직급 {
case "사원" where 인턴인가 == true:
print("인턴입니다.")
case "사원" where 연차 < 2 && 인턴인가 == false:
print("신입사원입니다.")
case "사원" where 연차 > 5:
print("연식 좀 된 사원입니다.")
case "사원":
print("사원입니다.")
case "대리":
print("대리입니다.")
default:
print("사장입니까?")
}
for i in 0...2{
print(i)
}
//0
//1
//2
for i in 0...5{
if i.isMultiple(of:2) {
print(i)
continue //continue 키워드를 사용하면 바로 다음 시퀀스로 건너뜁니다.
}
print("\(i) == 홀수")
}
//0
//1 == 홀수
//2
//3 == 홀수
//4
//5 == 홀수
let friends = [String: Int] = ["Jay":35, "Joe":29, "Jenny":31]
for tuple in friends {
print(tuple)
}
//("Joe", 29)
//("Jay", 35)
//("Jenny", 31)
let 주소: [String: String] = ["도": "충청북도", "시군구":"청주시 청원구", "동읍면":"율량동"]
for (키,값) in 주소{
print("\(키): \(값)")
}
var names: [String] = ["Joker", "Jenny", "Nova", "yagom"]
while names.isEmpty == false{
print("Good bye \(names.removeFirst())")
}
var names: [String] = ["John", "Jenny", "Joe", "yagom"]
repeat{
print("Good bye \(names.removeFirst())")
}while names.isEmpty == false