Swift 5.9 미만 버전의 경우, if else 분기문에 따라서 값이 달라질 때
let score = 82
let grade: String // 타입을 명시하는 프로퍼티를 선언
if score > 80 {
grade = "A"
} else if score > 70 {
grade = "B"
} else {
grade = "C"
}
위와 같이 프로퍼티에 값을 할당해야 했습니다.
let score = 82
let grade = {
if score > 80 {
return "A"
} else if score > 70 {
return "B"
} else {
return "C"
}
}()
혹은 closure를 통해서 값을 반환해야 했습니다.
if else 문과 switch 문을 표현식으로 간단히 나타낼 수 있게 되었습니다.
let score = 82
let grade = if score > 80 { "A" } else if score > 70 { "B" } else { "C" }
위와 같이 if else 문이나
let score = 82
let grade = switch score {
case 81...100: "A"
case 71..<81: "B"
case ...71: "C"
}
이렇게 switch문으로 깔끔하게 나타낼 수 있어졌습니다.
- 보다 정확한 컴파일
- Value & Type Parameter Packs
- Macro
- Non-Copyable structs & enums
등의 새로운 기술들이 있다고 합니다~!
(나중에 하나씩 뜯어보려구요.. 오늘은 넘 짧네요 죄송합니덩.....)