var valueA: Int = 3
var valueB: Int = 5
var biggerValue: Int = valueA > valueB ? valueA : valueB
if 구문 관련 :
스위프트에서는 if 구문은 조건의 값이 꼭 Bool 타입**이어야 함
→ C언어처럼 0, 1 안 되나?
let first : Int = 5
let second : Int = 10
if first < second {
...
}
else if (first > second){
...
}
C언어와는 다르게 break 키워드 사용은 선택 사항. 즉, case 내부의 코드를 모두 실행하면 break 없이도 switch 구문 종료
스위프트에서 switch 구문 조건에는 다양한 값이 들어갈 수 있음
→ 다만 비교 값은 입력 값과 타입이 같아야 함
let integerValue : Int = 5
switch intergerValue{
case 0:
print("0")
case 1...10:
print("1~10")
fallthrough //case를 연속 실행할 때 사용
default:
print("---")
}
ex.
let stringValue : String = "Liam Neeson"
switch stringValue{
case "yagom":
print("yagom")
case "Jenny": //비어 있으니 오류!
case "Joker": //비어 있으니 오류!
}
//C언어처럼 구현하려면 fallthrough 키워드 사용
typealias NameAge = (name: String, age: Int)
let tupleValue: NameAge("yagom", 99)
switch tupleValue{
case ("yagom", 99):
print("correct")
default:
print("wrong")
}
let 직급: String = "사원"
let 연차: Int = 1
let 인턴인가: Bool = false
switch 직급{
case "시원" where 연차 < 2 && 인턴 == false:
print("True")
}
for i in 0...5{
if i.isMultiple(of: 2){
print(i)
continue
}
}
for _ in 1..3{
result += 10
}
//Dictionary
let friends : [String : Int] = ["Jay", 24, "Joe", 23]
for tuple in friends{
print(tuple)
}
// ("Joe", 23)
// ("Jay", 24)
for (key,value) in friends {
print("\(key), \(value)")
}
var names : String = ["Joker", "Jenny", "Nova"]
while names.isEmpty == false{
print("Good bye \(names.removeFirst())")
}
var names : String = ["Joker", "Jenny", "Nova"]
repeat{
print("Good bye \(names.removeFirst())")
}while names.isEmpty == false