[Swift] if else / switch 표현식 (Swift 5.9)

chaentopia·2023년 11월 13일
1

기존에는...

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를 통해서 값을 반환해야 했습니다.

그러나!! swift 5.9부터...

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문으로 깔끔하게 나타낼 수 있어졌습니다.

말고도 WWDC 2023 Swift 5.9에

  • 보다 정확한 컴파일
  • Value & Type Parameter Packs
  • Macro
  • Non-Copyable structs & enums

    등의 새로운 기술들이 있다고 합니다~!

(나중에 하나씩 뜯어보려구요.. 오늘은 넘 짧네요 죄송합니덩.....)

profile
the pale blue dot

0개의 댓글