본문 바로가기

비공개/공식문서 간단정리

[Swift] Nil-결합 연산자

 

 

nil-결합 현산자(a ?? b) 는 옵셔널 a 에 값이 있으면 a를 언래핑 하고, a가 nil 이면 기본값 b를 반환한다.

표현식 a 는 항상 옵셔널 타입이고, 표현식 b는 a에 저장된 타입과 같아야 한다.

 

let color = "Red"
var definedColor: String? // 기본값이 nil 인 옵셔널 String 으로 정의
let selectedColor: String? = "Orange"

// definedColor가 nil 이기 때문에 b를 반환한다.
var colorUse = definedColor ?? color
print(colorUse) // "Red"

// selectedColor가 nil이 아니기 때문에 selectedColor의 래핑된 값을 사용한다.
var myColor = selectedColor ?? color
print(test) // Optional("Orange")

 

 

위의 예제는 아래의 코드를 짧게 표현한 것이다

 

let color = "Red"
var definedColor: String? // 기본값이 nil 인 옵셔널 String 으로 정의
let selectedColor: String ? = "Orange"

// definedColor가 nil 이기 때문에 b를 반환한다.
definedColor != nil ? definedColor! : color
print(colorUse) // "Red"

// selectedColor가 nil이 아니기 때문에 selectedColor의 래핑된 값을 사용한다.
selectedColor != nil ? selectedColor : color
print(test) // Optional("Orange")

 

 

 

 

 

'비공개 > 공식문서 간단정리' 카테고리의 다른 글

[Swift] 논리 연산자  (0) 2023.12.13
[Swift] 범위 연산자  (0) 2023.12.13
[Swift] 삼항 조건 연산자  (0) 2023.12.13
[Swift] 복합 대입 연산자  (0) 2023.12.13
[Swift] 산술 연산자  (0) 2023.12.13